Identity and Access Management — API Reference

Manage identities of your Users, set password policies, and configure other access controls

70 endpoints across 6 tags.

Settings

GET /business-profile-service/organizations/business-profiles — Get universal list of organization workspaces

/api-reference/identity-and-access-management#tag/Settings/operation/getBusinessProfilesForOrganizationUserUniversalList

Retrieve a list of worspaces in the organization in context of the current user.


API consumer: Synerise User

Parameters

NameInTypeRequiredDescription
pagequeryintegeroptionalPage to retrieve
limitqueryintegeroptionalLimit of items per page
businessProfileGroupIdquerystringoptionalWorkspace group to filter by.
sortByqueryenum<"NAME:ASC", "NAME:DESC", "CREATED:ASC", "CREATED:DESC">optional
searchquerystringoptional

Responses

StatusDescription
200 application/jsonOK

Example request (cURL)

curl --request GET \
  --url 'https://api.synerise.com/business-profile-service/organizations/business-profiles?page=SOME_INTEGER_VALUE&limit=SOME_INTEGER_VALUE&businessProfileGroupId=SOME_STRING_VALUE&sortBy=SOME_STRING_VALUE&search=SOME_STRING_VALUE'

GET /sauth/settings/ban — Get ban settings

/api-reference/identity-and-access-management#tag/Settings/operation/getBanSettingsUsingGET

Retrieve the configuration of applying bans after a number of failed logins.


API consumer: Synerise User

User role permission required: settings_customers_iam_locking_policy: read

Responses

StatusDescription
200 application/jsonCurrent settings
401 application/jsonJWT missing, expired, or invalid
403 application/jsonInsufficient permissions or wrong JWT scope (for example, profile token where a workspace token was required)
404Not Found

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/sauth/settings/ban \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /sauth/settings/ban — Update ban settings

/api-reference/identity-and-access-management#tag/Settings/operation/updateBanSettingsUsingPOST

Update the configuration of applying bans after a number of failed logins.


API consumer: Synerise User

User role permission required: settings_customers_iam_locking_policy: update

Request body (required)

application/json · sauth-BanSettingsPayload

FieldTypeRequiredDescription
blockingForClientEnabledbooleanoptionalWhen TRUE, first- and second-level bans are enabled. Permanent bans are always enabled.
firstBanCollectingTimeintegeroptionalTime in seconds. If a Profile fails to log in too many times during this time, the account is banned. The number of login attempts is defined in firstBanThreshold and the duration is defined in firstBanDuration. Note: The timer starts at the first login attempt and is common for first-level, second-level, and permanent bans.
firstBanDurationintegeroptionalDuration of the first-level ban in seconds. The first-level ban is applied to a Profile's identifier and cancelled after a successful password reset.
firstBanThresholdintegeroptionalThe number of failed login attempts before the first-level ban is applied.
secondBanCollectingTimeintegeroptionalTime in seconds. If a Profile fails to log in too many times during this time, the account is banned. The number of login attempts is defined in secondBanThreshold and the duration is defined in secondBanDuration. Note: The timer starts at the first login attempt and is common for first-level, second-level, and permanent bans.
secondBanDurationintegeroptionalDuration of the second-level ban in seconds. The second-level ban is applied to a Profile's identifier and cancelled after a successful password reset.
secondBanThresholdintegeroptionalThe number of failed login attempts before the second-level ban is applied.
permanentBanCollectingTimeintegeroptionalTime in seconds. If a Profile fails to log in too many times during this time, the account is banned. The number of login attempts is defined in permanentBanThreshold and the duration is defined in permanentBanDuration. Note: The timer starts at the first login attempt and is common for first-level, second-level, and permanent bans.
permanentBanDurationintegeroptionalDuration of the permanent ban in seconds. The permanent ban is applied to an IP address and cancelled after a successful password reset.
permanentBanThresholdintegeroptionalThe number of failed login attempts before the permanent ban is applied.

Responses

StatusDescription
200 application/jsonCurrent settings
401 application/jsonJWT missing, expired, or invalid
403 application/jsonInsufficient permissions or wrong JWT scope (for example, profile token where a workspace token was required)
404Not Found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/sauth/settings/ban \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"blockingForClientEnabled":true,"firstBanCollectingTime":0,"firstBanDuration":0,"firstBanThreshold":0,"secondBanCollectingTime":0,"secondBanDuration":0,"secondBanThreshold":0,"permanentBanCollectingTime":0,"permanentBanDuration":0,"permanentBanThreshold":0}'

GET /sauth/settings/templates — Get email template settings

/api-reference/identity-and-access-management#tag/Settings/operation/getTemplateSettingsUsingGET

Get settings for email templates.


API consumer: Synerise User

User role permission required: settings_customers_iam_account_confirmation: read

Responses

StatusDescription
200 application/jsonCurrent settings
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/sauth/settings/templates \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /sauth/settings/templates — Update email template settings

/api-reference/identity-and-access-management#tag/Settings/operation/updateTemplateSettingsUsingPOST

Update email template settings. Omitted settings are reset to null!


API consumer: Synerise User

User role permission required: settings_customers_iam_account_confirmation: update

Request body (required)

application/json · sauth-TemplateSettingsData

FieldTypeRequiredDescription
clientEmailChangeRequestMailSubjectstringoptionalSubject of the email change confirmation email. This is sent to the new address.
clientEmailChangeRequestMailBodystringoptionalHTML body of the email change confirmation email. All " characters must be escaped and all the code must be a single line. This is sent to the new address.
clientEmailChangeRequestMailTemplateIdstringoptionalID of the email change confirmation email body template. This email is sent to the new address. If you use a template, it overrides the content sent in clientEmailChangeRequestMailBody.
clientEmailChangeNotificationMailSubjectstringoptionalSubject of the email change notification email. This is sent to the current address.
clientEmailChangeNotificationMailBodystringoptionalHTML body of the email change notification email. All " characters must be escaped and all the code must be a single line. This is sent to the current address.
clientEmailChangeNotificationMailTemplateIdstringoptionalID of the email change notification email template. This email is sent to the current address. If you use a template, it overrides the content sent in clientEmailChangeNotificationMailBody.

Responses

StatusDescription
200 application/jsonCurrent settings
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/sauth/settings/templates \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"clientEmailChangeRequestMailSubject":"string","clientEmailChangeRequestMailBody":"string","clientEmailChangeRequestMailTemplateId":"string","clientEmailChangeNotificationMailSubject":"string","clientEmailChangeNotificationMailBody":"string","clientEmailChangeNotificationMailTemplateId":"string"}'

GET /sauth/settings/device-control — Get device authorization settings

/api-reference/identity-and-access-management#tag/Settings/operation/getDeviceControlSettingsUsingGET

Retrieve the settings related to authorization of logins from unknown devices.


API consumer: Synerise User

User role permission required: settings_customers_iam_locking_policy: read

Responses

StatusDescription
200 application/jsonCurrent settings
401 application/jsonJWT missing, expired, or invalid
403 application/jsonInsufficient permissions or wrong JWT scope (for example, profile token where a workspace token was required)
404Not Found

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/sauth/settings/device-control \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /sauth/settings/device-control — Update device authorization settings

/api-reference/identity-and-access-management#tag/Settings/operation/updateDeviceSettingsUsingPOST

Update the settings related to authorization of logins from unknown devices.


API consumer: Synerise User

User role permission required: settings_customers_iam_locking_policy: update

Request body (required)

application/json · sauth-DeviceControlSettingsPayload

FieldTypeRequiredDescription
deviceControlModeenum<"OFF", "SOFT", "HARD", "CONDITIONAL_BASED_ON_LOCATION">optionalDefines the type of device authorization. OFF: No device authorization. SOFT: The Profile is notified about logins from a new device, but the access is not blocked. HARD: Login attempts from the new device are blocked until the Profile authorizes the device with the link or token received by email. CONDITIONAL_BASED_ON_LOCATION: If a Profile logs in from a new device in Poland, they receive a notification (same as with SOFT setting). If the new device is outside of Poland, it must be authorized with a link or token received by email (same as with HARD setting). Other countries will be supported in the future.
hardMailBodystringoptionalHTML body of the device authorization email for hard mode. All " characters must be escaped and all the code must be a single line.
hardMailTitlestringoptionalSubject of the device authorization email for hard mode.
hardTemplateIdstringoptionalID of the device authorization email template for hard mode. If you use a template, it overrides the content sent in hardMailBody.
softMailBodystringoptionalHTML body of the device authorization email for soft mode. All " characters must be escaped and all the code must be a single line.
softMailTitlestringoptionalSubject of the device authorization email for soft mode.
softTemplateIdstringoptionalID of the device authorization email template for soft mode. If you use a template, it overrides the content sent in softMailBody.
deviceUnlockSuccessRedirectUrlstringoptional
deviceUnlockAlreadyConfirmedRedirectUrlstringoptional

Responses

StatusDescription
200 application/jsonCurrent settings
401 application/jsonJWT missing, expired, or invalid
403 application/jsonInsufficient permissions or wrong JWT scope (for example, profile token where a workspace token was required)
404Not Found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/sauth/settings/device-control \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"deviceControlMode":"OFF","hardMailBody":"string","hardMailTitle":"string","hardTemplateId":"string","softMailBody":"string","softMailTitle":"string","softTemplateId":"string","deviceUnlockSuccessRedirectUrl":"string","deviceUnlockAlreadyConfirmedRedirectUrl":"string"}'

GET /sauth/settings/general — Get general settings

/api-reference/identity-and-access-management#tag/Settings/operation/getGeneralConfigUsingGET

Retrieve the general settings of the workspace.


API consumer: Synerise User

User role permission required: settings_customers_iam_account_confirmation: read

Responses

StatusDescription
200 application/jsonCurrent settings
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/sauth/settings/general \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /sauth/settings/general — Update general settings

/api-reference/identity-and-access-management#tag/Settings/operation/updateGeneralSettingsUsingPOST

Update general settings. Settings omitted in the request are reset to default!.


API consumer: Synerise User

User role permission required: settings_customers_iam_account_confirmation: update

Request body (required)

application/json · sauth-GeneralSettingsData

FieldTypeRequiredDescription
tokenLifetimeInSecondsintegerrequiredThe time in seconds before the authorization tokens expire. If set to 0 (default), the global Synerise setting is applied: 60 minutes.
voucherPoolUuidstringoptionalUUID of the voucher pool that stores customId values available for assignment to new Profiles, if applicable in your implementation.
allowOverwriteCustomIdentifybooleanoptionalWhen set to TRUE, customers' customId values may be modified. By default, the customId cannot be changed.
allowOverwriteExternalIdbooleanoptionalWhen set to TRUE, a profile's externalId value may be modified. This may be useful, for example, if someone deletes their account with an external authentication provider, and then registers a new account with the same email. The external provider assigns a new ID and you need to allow overwriting the existing external ID in Synerise in order to link the existing profile in Synerise with the newly created account from the external provider.
allowEmailChangeFromWebFormbooleanoptionalWhen set to TRUE, email change can be requested/confirmed using a web form.
allowToPassCustomIdentifyWithVoucherPoolbooleanoptionalWhen set to TRUE, customId can be provided even if voucher pool is configured. In this case voucher will not be assigned.

Responses

StatusDescription
200 application/jsonNew settings
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/sauth/settings/general \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"tokenLifetimeInSeconds":0,"voucherPoolUuid":null,"allowOverwriteCustomIdentify":false,"allowOverwriteExternalId":false,"allowEmailChangeFromWebForm":false,"allowToPassCustomIdentifyWithVoucherPool":false}'

GET /sauth/settings/oauth — Get OAuth settings

/api-reference/identity-and-access-management#tag/Settings/operation/getOauthSettingsUsingGET

Retrieve OAuth authentication settings


API consumer: Synerise User

User role permission required: settings_customers_iam_oauth: read

Responses

StatusDescription
200 application/jsonCurrent settings
401 application/jsonJWT missing, expired, or invalid
403 application/jsonInsufficient permissions or wrong JWT scope (for example, profile token where a workspace token was required)
404Not Found

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/sauth/settings/oauth \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /sauth/settings/oauth — Update OAuth settings

/api-reference/identity-and-access-management#tag/Settings/operation/updateOatuhSettingsUsingPOST

Update OAuth authentication settings


API consumer: Synerise User

User role permission required: settings_customers_iam_oauth: update

Request body (required)

application/json · sauth-OauthSettingsRequest

FieldTypeRequiredDescription
enabledbooleanoptional
modeenum<"JWT_TOKEN", "SERVER">optionalThe mode of authentication: SERVER: Your OAuth server returns a token to the client device; the client device passes it to the Synerise backend; Synerise backend verifies the token with your OAuth backend JWT_TOKEN: Your OAuth server returns a JWT to the client device; the client device passes it to the Synerise backend; the Synerise backends verifies it with the provided JWK. This mode requires fewer resources from your backend.
namestringoptionalName of the integration
endpointstringoptionalURL of the OAuth authorization endpoint when the SERVER mode is selected.If you want to pass the token from your backend in the URL, use the {{_snrs_access_token}} insert.
headersobjectoptional'Headers for the authorization request when SERVER mode is selected. For example, "X-Custom-Header": "someValue"If you want to pass the token from your backend in a header, use the {{_snrs_access_token}} insert'
mappingobjectoptionalA mapping of fields from the Synerise endpoint to your OAuth endpoint. For example, if your field is called token and its counterpart in Synerise is accessToken, the mapping is "accessToken": "token"
mappedExternalbooleanoptionalIf set to FALSE, the authentication request must include the customer's customId in the body.
syncDataOnLoginbooleanoptionalWhen set to TRUE, profile data from an external authentication provider is uploaded into the Synerise database every time the profile logs in. When FALSE, the data is saved only the first time a profile logs in, so that the amount of data is reduced in later authentication requests.
jwkEndpointstringoptionalURL of the JWK when the JWT_TOKEN mode is selected.If you want to pass the token from your backend in the URL, use the {{_snrs_access_token}} insert.
validationobjectoptionalA validation mapping of fields from jwt token.

Responses

StatusDescription
200 application/jsonCurrent settings
401 application/jsonJWT missing, expired, or invalid
403 application/jsonInsufficient permissions or wrong JWT scope (for example, profile token where a workspace token was required)
404Not Found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/sauth/settings/oauth \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"enabled":true,"mode":"JWT_TOKEN","name":"string","endpoint":"string","headers":{"Content-Type":"application/json","Authorization":"Bearer {{_snrs_access_token}}","Cache-control":"no-cache"},"mapping":{"property1":"string","property2":"string"},"mappedExternal":true,"syncDataOnLogin":false}'

GET /sauth/settings/synerise-auth — getSyneriseAuthConfig

/api-reference/identity-and-access-management#tag/Settings/operation/getSyneriseAuthConfig


API consumer: Synerise User

User role permission required: settings_customers_iam: read

Responses

StatusDescription
200 application/jsonOK

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/sauth/settings/synerise-auth

POST /sauth/settings/synerise-auth — updateSyneriseAuthSettings

/api-reference/identity-and-access-management#tag/Settings/operation/updateSyneriseAuthSettings


API consumer: Synerise User

User role permission required: settings_customers_iam: update

Request body (required)

application/json · sauth-SyneriseAuthSettingsData

FieldTypeRequiredDescription
enabledbooleanrequired
registrationTypeenum<"REQUIRE_ACTIVATION", "REQUIRE_EMAIL_CONFIRMATION", "REQUIRE_PIN_CONFIRMATION", "AUTOMATIC">requiredDefines the Profile account activation type. REQUIRE_ACTIVATION: the account is inactive until the link in the confirmation email is accessed. REQUIRE_EMAIL_CONFIRMATION: the account is active and can be used immediately, but must be confirmed using the link from the confirmation email. AUTOMATIC: no activation is required REQUIRE_PIN_CONFIRMATION: PIN code confirmation is required. To send the PIN by email, the email template must include the {{pin_code}} jinjava tag.
pinConfirmationTypeenum<"EVERYONE", "ON_CONFLICT_WITH_EXTERNAL_ACCOUNT">optionalDefines if PIN confirmation (if enabled) is required for all new accounts or only if there is a conflict with an existing account registered by using third-party Identity Providers.
pinConfirmationLengthintegeroptionalThe number of characters in the PIN
pinConfirmationValidInSecondsintegeroptionalTTL of the PIN code before it expires and cannot be used
allowPinResendFromDifferentDeviceIdbooleanoptionalWhen TRUE, a PIN email re-send can be requested from a different device than the last device that requested a PIN email. NOTE: Regardless of this setting, the activation request can only be sent from the last device that requested a PIN email.
confirmationRedirectLinkstringoptionalRedirect URL of the confirmation link
confirmationMailSubjectstringoptionalSubject of the account activation email
confirmationMailBodystringoptionalHTML body of the account activation email. All " characters must be escaped and all the code must be a single line.
confirmationMailTemplateIdstringoptionalID of the account activation email body template. If you use a template, it overrides the content sent in confirmationMailBody.
passwordResetMailTemplateIdstringoptionalID of the password reset confirmation email body template
passwordResetMailSubjectstringoptionalSubject of the password reset confirmation email
passwordResetMailBodystringoptionalHTML body of the password reset confirmation email. All " characters must be escaped and all the code must be a single line.
pinConfirmationMailSubjectstringoptionalSubject of the email with the PIN needed to confirm an account.
pinConfirmationMailBodystringoptionalHTML body of the email with the PIN needed to confirm an account. All " characters must be escaped and all the code must be a single line. The PIN code is inserted using the {{ pin_code }} Jinjava insert.
pinConfirmationMailTemplateIdstringoptionalID of the template for the email with the PIN needed to confirm an account. If you use a template, it overrides the content sent in pinConfirmationMailBody.
maxLengthintegeroptionalMaximum length of the password
minLengthintegeroptionalMinimum length of the password
requireAtLeastOneLowercaseLetterbooleanoptionalWhen TRUE, the password must include at least one lowercase letter.
requireAtLeastOneNonAlphaNumericCharacterbooleanoptionalWhen TRUE, the password must include at least one non-alphanumeric character.
requireAtLeastOneNumberbooleanoptionalWhen TRUE, the password must include at least one number.
requireAtLeastOneUppercaseLetterbooleanoptionalWhen TRUE, the password must include at least one uppercase letter.

Responses

StatusDescription
200 application/jsonOK

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/sauth/settings/synerise-auth \
  --header 'content-type: application/json' \
  --data '{"enabled":true,"registrationType":"REQUIRE_ACTIVATION","pinConfirmationType":"EVERYONE","pinConfirmationLength":6,"pinConfirmationValidInSeconds":300,"allowPinResendFromDifferentDeviceId":false,"confirmationRedirectLink":null,"confirmationMailSubject":"string","confirmationMailBody":"string","confirmationMailTemplateId":"string","passwordResetMailTemplateId":"string","passwordResetMailSubject":"string","passwordResetMailBody":"string","pinConfirmationMailSubject":"string","pinConfirmationMailBody":"string","pinConfirmationMailTemplateId":"string","maxLength":0,"minLength":0,"requireAtLeastOneLowercaseLetter":false,"requireAtLeastOneNonAlphaNumericCharacter":false,"requireAtLeastOneNumber":false,"requireAtLeastOneUppercaseLetter":false}'

GET /sauth/settings/oauth/facebook — getFacebookOauthSettings

/api-reference/identity-and-access-management#tag/Settings/operation/getFacebookOauthSettings


API consumer: Synerise User

User role permission required: settings_customers_iam_oauth: read

Responses

StatusDescription
200 application/jsonOK

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/sauth/settings/oauth/facebook

POST /sauth/settings/oauth/facebook — updateFacebookOauthSettings

/api-reference/identity-and-access-management#tag/Settings/operation/updateFacebookOauthSettings


API consumer: Synerise User

User role permission required: settings_customers_iam_oauth: update

Request body (required)

application/json · sauth-FacebookOauthSettingsPayload

FieldTypeRequiredDescription
enabledbooleanrequired

Responses

StatusDescription
200 */*OK

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/sauth/settings/oauth/facebook \
  --header 'content-type: application/json' \
  --data '{"enabled":true}'

GET /sauth/settings/oauth/google — getGoogleOauthSettings

/api-reference/identity-and-access-management#tag/Settings/operation/getGoogleOauthSettings


API consumer: Synerise User

User role permission required: settings_customers_iam_oauth: read

Responses

StatusDescription
200 application/jsonOK

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/sauth/settings/oauth/google

POST /sauth/settings/oauth/google — updateGoogleOauthSettings

/api-reference/identity-and-access-management#tag/Settings/operation/updateGoogleOauthSettings


API consumer: Synerise User

User role permission required: settings_customers_iam_oauth: update

Request body (required)

application/json · sauth-GoogleOauthSettingsPayload

FieldTypeRequiredDescription
enabledbooleanrequired

Responses

StatusDescription
200 */*OK

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/sauth/settings/oauth/google \
  --header 'content-type: application/json' \
  --data '{"enabled":true}'

GET /sauth/settings/oauth/apple — Get Sign in with Apple settings

/api-reference/identity-and-access-management#tag/Settings/operation/getAppleAuthSettingsUsingGET

Retrieve Sign in with Apple settings.


API consumer: Synerise User

User role permission required: settings_customers_iam_oauth: read

Responses

StatusDescription
200 application/jsonCurrent settings
401 application/jsonJWT missing, expired, or invalid
403 application/jsonInsufficient permissions or wrong JWT scope (for example, profile token where a workspace token was required)
404Not Found

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/sauth/settings/oauth/apple \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /sauth/settings/oauth/apple — Update Sign in with Apple settings

/api-reference/identity-and-access-management#tag/Settings/operation/updateAppleAuthSettingsUsingPOST

Update Sign in with Apple settings.


API consumer: Synerise User

User role permission required: settings_customers_iam_oauth: update

Request body (required)

application/json · sauth-AppleAuthSettingsPayload

FieldTypeRequiredDescription
enabledbooleanoptionalDefines if Sign in with Apple is enabled in this workspace.
bundlestringoptionalName of your application package

Responses

StatusDescription
200 application/jsonCurrent settings
401 application/jsonJWT missing, expired, or invalid
403 application/jsonInsufficient permissions or wrong JWT scope (for example, profile token where a workspace token was required)
404Not Found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/sauth/settings/oauth/apple \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"enabled":true,"bundle":"com.synerise.sdk.sample-swift"}'

POST /uauth/business-profile/mark-favorite — Add or remove business profile to favorites

/api-reference/identity-and-access-management#tag/Settings/operation/postBPFavorite

Business profile can be added or removed from favorites using this endpoint


API consumer: Synerise User

Request body

application/json · uauth-MarkUserFavoriteBusinessProfile

FieldTypeRequiredDescription
businessProfileGuidstringoptional
favoritebooleanoptional

Responses

StatusDescription
200OK
400Bad Request
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/uauth/business-profile/mark-favorite \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"businessProfileGuid":"string","favorite":true}'

Access control

POST /uauth/business-profile/mfa/requirements — Enable MFA requirement for workspace

/api-reference/identity-and-access-management#tag/Access-control/operation/setMfaRequirementForBusinessProfileUsingPOST

This request enables multi-factor authentication requirement for the currently selected workspace. After enabling this setting, only users with MFA can access the workspace.


API consumer: Synerise User

Responses

StatusDescription
200OK
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/uauth/business-profile/mfa/requirements \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

DELETE /uauth/business-profile/mfa/requirements — Disable MFA requirement for workspace

/api-reference/identity-and-access-management#tag/Access-control/operation/removeMfaRequirementFromBusinessProfileUsingDELETE

This request disables multi-factor authentication requirement for the currently selected workspace. After disabling this setting, users without MFA can access the workspace.


API consumer: Synerise User

Responses

StatusDescription
200OK
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request DELETE \
  --url https://api.synerise.com/uauth/business-profile/mfa/requirements \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /uauth/users/my-account/strongest-password-settings — Get own strongest password policy

/api-reference/identity-and-access-management#tag/Access-control/operation/getStrongestPasswordSettings

If a user has access to more than one workspace, you can use this endpoint to find the strictest password policy of all the policies in these workspaces. The user's password must meet the requirements of that strictest policy.


API consumer: Synerise User

Responses

StatusDescription
200 */*OK

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/uauth/users/my-account/strongest-password-settings

GET /uauth/settings/user-bp-ip-policy — Get IP allowlist policy

/api-reference/identity-and-access-management#tag/Access-control/operation/getUserBpIpPolicyUsingGET

Retrieve the details of IP allowlisting policy of the workspace.


API consumer: Synerise User

User role permission required: settings_users_am_ip_access_restriction: read

Responses

StatusDescription
200 application/jsonIP policy details
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/uauth/settings/user-bp-ip-policy \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /uauth/settings/user-bp-ip-policy — Update IP allowlist policy

/api-reference/identity-and-access-management#tag/Access-control/operation/updateUserBpIpPolicyUsingPOST

Update the details of IP allowlisting policy of the workspace.


API consumer: Synerise User

User role permission required: settings_users_am_ip_access_restriction: update

Request body (required)

application/json · uauth-IpPolicySettings

FieldTypeRequiredDescription
enabledbooleanoptionalWhen TRUE, the policy is active and only the included addresses are allowed to connect.
enableSupportSubnetsbooleanoptionalWhen TRUE, the IP addresses used by Synerise for service work are added to the allowlist. These addresses depend on the configuration.
ipPolicyarray<string>optionalList of allowed IPv4 addresses

Responses

StatusDescription
200 application/jsonUpdated IP policy
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/uauth/settings/user-bp-ip-policy \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"enabled":true,"enableSupportSubnets":true,"ipPolicy":["string"]}'

GET /uauth/strongest-password-settings-by-email/{email} — Get strongest password policy of a User

/api-reference/identity-and-access-management#tag/Access-control/operation/getStrongestPasswordSettingsUsingGET

If a user has access to more than one workspace, you can use this endpoint to find the strictest password policy of all the policies in these workspaces. The user's password must meet the requirements of that strictest policy.


Authentication: Not required

Parameters

NameInTypeRequiredDescription
emailpathstringrequiredUser's email address

Responses

StatusDescription
200 application/jsonOK
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/uauth/strongest-password-settings-by-email/%7Bemail%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /uauth/users/mfa/initialization — Initiate multi-factor authentication for user

/api-reference/identity-and-access-management#tag/Access-control/operation/initiateUserMfaUsingPOST

Begins the process of enabling multi-factor authentication for a user by initiating it.


API consumer: Synerise User

Parameters

NameInTypeRequiredDescription
mfaTypequeryenum<"TOTP_AUTHENTICATOR", "EMAIL">requiredType of multi-factor authentication

Responses

StatusDescription
200 application/jsonSecret and QR code URL
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request POST \
  --url 'https://api.synerise.com/uauth/users/mfa/initialization?mfaType=SOME_STRING_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /uauth/users/mfa/confirmation — Confirm multi-factor authentication for user

/api-reference/identity-and-access-management#tag/Access-control/operation/confirmUserMfaUsingPOST

Continues the process of enabling multi-factor authentication for a user by confirming it.


API consumer: Synerise User

Parameters

NameInTypeRequiredDescription
mfaTypequeryenum<"TOTP_AUTHENTICATOR", "EMAIL">requiredType of multi-factor authentication

Request body (required)

application/json · uauth-MultiFactorAuthConfirmRequest

FieldTypeRequiredDescription
verificationCodestringrequiredMulti-factor verification code

Responses

StatusDescription
200 application/jsonUser's backup code
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request POST \
  --url 'https://api.synerise.com/uauth/users/mfa/confirmation?mfaType=SOME_STRING_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"verificationCode":"string"}'

DELETE /uauth/users/mfa — Remove multi-factor authentication for user

/api-reference/identity-and-access-management#tag/Access-control/operation/removesUserMfaUsingPOST

Removes user multi-factor authentication.


API consumer: Synerise User

Parameters

NameInTypeRequiredDescription
mfaTypequeryenum<"TOTP_AUTHENTICATOR", "EMAIL">requiredType of multi-factor authentication
backupCodequerystringrequiredUser's backup code

Responses

StatusDescription
204No Content
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request DELETE \
  --url 'https://api.synerise.com/uauth/users/mfa?mfaType=SOME_STRING_VALUE&backupCode=SOME_STRING_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /uauth/settings/password-policy — Get user password policy

/api-reference/identity-and-access-management#tag/Access-control/operation/getPasswordSettingsUsingGET

Retrieve the user password policy of the workspace.


API consumer: Synerise User

User role permission required: settings_users_am_password_policy: read

Responses

StatusDescription
200 application/jsonOK
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/uauth/settings/password-policy \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /uauth/settings/password-policy — Update user password policy

/api-reference/identity-and-access-management#tag/Access-control/operation/updateSettingsUsingPOST

Update the user password policy. Entering 0 as the value disables a requirement.


API consumer: Synerise User

User role permission required: settings_users_am_password_policy: update

Request body

application/json · uauth-PasswordSettingsData

FieldTypeRequiredDescription
attemptsintegeroptionalThe number of failed sign-in attempts after which an account is blocked
blockintegeroptionalThe number of days after which an account is blocked after the password expires.
differentintegeroptionalDefines how many previous passwords are compared. For example, if set to 3, the new password must be different than the 3 last passwords.
digitsintegeroptionalThe minimum number of digits in a password
expirationintegeroptionalThe number of days after which the passwords expire
lowerLettersintegeroptionalThe minimum number of lower-case letters in a password
maxIdleTimeintegeroptionalTime (in seconds) after which an idle user is signed out
maxLengthintegeroptionalThe maximum number of characters in a password
minLengthintegeroptionalThe minimum number of characters in a password
nextChangeintegeroptionalCurrently not used
specialCharsintegeroptionalThe minimum number of special characters in a password
upperLettersintegeroptionalThe minimum number of upper-case letters in a password

Responses

StatusDescription
200 application/jsonNew password policy
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/uauth/settings/password-policy \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"attempts":0,"block":0,"different":0,"digits":0,"expiration":0,"lowerLetters":0,"maxIdleTime":0,"maxLength":0,"minLength":0,"nextChange":0,"specialChars":0,"upperLetters":0}'

User management

GET /uauth/user/register/invitation/{invitationToken} — Find user by invitation token

/api-reference/identity-and-access-management#tag/User-management/operation/findByInvitationTokenGET

You can retrieve the details of an account by providing the invitation token generated for that account.


Authentication: Not required

Parameters

NameInTypeRequiredDescription
invitationTokenpathstringrequiredInvitation token

Responses

StatusDescription
200 application/jsonOK
201Created
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/uauth/user/register/invitation/%7BinvitationToken%7D

POST /uauth/users/invitations/invite — Invite user

/api-reference/identity-and-access-management#tag/User-management/operation/inviteUserUsingPOST

Invite a user to join a workspace. The user receives an email with an invitation token.


API consumer: Synerise User

User role permission required: settings_users: create

Request body (required)

application/json · uauth-BusinessProfileInvitationRequest

All the data sent in this request applies to the user being invited.

FieldTypeRequiredDescription
emailstringoptionalUser's email address
firstNamestringoptionalFirst name of the user
lastNamestringoptionalLast name of the user
rolesarray<integer>optionalAn array of roles (IDs) assigned to the user in the currently selected workspace

Responses

StatusDescription
200 application/jsonOK
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/uauth/users/invitations/invite \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"email":"string","firstName":"string","lastName":"string","roles":[0]}'

POST /uauth/users/invitations/invite-bulk — Invite many users

/api-reference/identity-and-access-management#tag/User-management/operation/bulkInviteUsersUsingPOST

Invite a number of users to the workspace at once. The users receive emails with invitation tokens.


API consumer: Synerise User

User role permission required: settings_users: create

Request body (required)

application/json · uauth-BusinessProfileBulkInvitationRequest

All the data sent in this request refers to the users being invited.

FieldTypeRequiredDescription
invitationsarray<uauth-BusinessProfileInvitationRequest>optionalAn array of users to invite

Responses

StatusDescription
200 application/jsonOK
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/uauth/users/invitations/invite-bulk \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"invitations":[{"email":"string","firstName":"string","lastName":"string","roles":[0]}]}'

DELETE /uauth/users/invitations/{invitationIds} — Delete invitations

/api-reference/identity-and-access-management#tag/User-management/operation/deleteInvitationUsingDELETE

Delete invitations that were not yet accepted.


API consumer: Synerise User

User role permission required: settings_users: delete

Parameters

NameInTypeRequiredDescription
invitationIdspathstringrequiredComma-separated list of invitation IDs. To obtain the invitation ID, check the list of users with PENDING status. The invitation ID for a user is the same as the ID of that user.

Responses

StatusDescription
200OK
401Unauthorized
403Forbidden

Example request (cURL)

curl --request DELETE \
  --url https://api.synerise.com/uauth/users/invitations/%7BinvitationIds%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /uauth/users/invitations/{invitationId} — Update invitation

/api-reference/identity-and-access-management#tag/User-management/operation/updateInvitationUsingPOST

Update the details of an invitation.


API consumer: Synerise User

User role permission required: settings_users: update

Parameters

NameInTypeRequiredDescription
invitationIdpathintegerrequiredTo obtain the invitation ID, check the list of users with PENDING status. The invitation ID for a user is the same as the ID of that user.

Request body (required)

application/json · uauth-InvitationUpdateRequest

All the data sent in this request refers to the user being invited.

FieldTypeRequiredDescription
firstNamestringoptionalFirst name of the user
lastNamestringoptionalLast name of the user
rolesarray<integer>optionalAn array of roles (IDs) assigned to the user in the currently selected workspace

Responses

StatusDescription
200OK
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/uauth/users/invitations/%7BinvitationId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"firstName":"string","lastName":"string","roles":[0]}'

GET /uauth/users/listing — List users

/api-reference/identity-and-access-management#tag/User-management/operation/listUsersUsingGET

List users from the current workspace


API consumer: Synerise User

User role permission required: settings_users: read

Parameters

NameInTypeRequiredDescription
pagequeryintegerrequiredThe page of results to retrieve. The first page has the index 0.
sizequeryintegerrequiredThe number of entries on a page
statusqueryenum<"ALL", "ACTIVE", "PENDING", "EXPIRED", …>requiredFilters the results by status of the users
searchquerystringrequiredString to search for in the first names, surnames, and email addresses

Responses

StatusDescription
200 application/jsonOK
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request GET \
  --url 'https://api.synerise.com/uauth/users/listing?page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&status=SOME_STRING_VALUE&search=SOME_STRING_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /uauth/users/listing/autocomplete — Autocomplete user search result

/api-reference/identity-and-access-management#tag/User-management/operation/getListingAutocomplete

You can use this endpoint to obtain data for search autocomplete.


API consumer: Synerise User

User role permission required (at least one): settings_users: read, analytics: read

Parameters

NameInTypeRequiredDescription
emailquerystringrequiredUser's email address

Responses

StatusDescription
200 application/jsonOK
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request GET \
  --url 'https://api.synerise.com/uauth/users/listing/autocomplete?email=SOME_STRING_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

DELETE /uauth/users/profile-association/{ids} — Remove users from workspace

/api-reference/identity-and-access-management#tag/User-management/operation/deleteUsersUsingDELETE

Delete user associations from a workspace. This does not delete the user accounts.


API consumer: Synerise User

User role permission required: settings_users: delete

Parameters

NameInTypeRequiredDescription
idspathstringrequiredComma-separated user IDs

Responses

StatusDescription
200OK
401Unauthorized
403Forbidden

Example request (cURL)

curl --request DELETE \
  --url 'https://api.synerise.com/uauth/users/profile-association/11405,11406,11407' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /uauth/users/{userId} — Get user data

/api-reference/identity-and-access-management#tag/User-management/operation/getUserDataUsingGET


API consumer: Synerise User

Parameters

NameInTypeRequiredDescription
userIdpathintegerrequiredUser ID

Responses

StatusDescription
200 application/jsonOK
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/uauth/users/%7BuserId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /uauth/users/{userId} — Update user data

/api-reference/identity-and-access-management#tag/User-management/operation/updateUserDataUsingPOST


API consumer: Synerise User

Parameters

NameInTypeRequiredDescription
userIdpathintegerrequiredUser ID

Request body (required)

application/json · uauth-ReactOtherUserEditRequest

FieldTypeRequiredDescription
firstNamestringoptionalFirst name of the user
lastNamestringoptionalLast name of the user
avatarstringoptionalURL of the user's avatar
phonestringoptionalUser's phone number
languageenum<"pl", "es", "pt", "en-GB", …>optionalUser's interface language
organizationRolestringoptionalUser's role in the organization
introductionstringoptionalUser's introduction
confirmedbooleanoptionalInforms if the account is confirmed
mailAccountIdintegeroptionalUnused field
descriptionstringoptionalUser's description
dateFormatNotationenum<"US", "EU">optional
timeFormatNotationenum<"US", "EU">optional
numberFormatNotationenum<"US", "EU">optional
rolesarray<integer>requiredAn array of roles (IDs) assigned to the user in the currently selected workspace

Responses

StatusDescription
200 application/jsonOK
201Created
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/uauth/users/%7BuserId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"firstName":"string","lastName":"string","avatar":"string","phone":"string","language":"pl","organizationRole":"string","introduction":"string","confirmed":true,"mailAccountId":0,"description":"string","dateFormatNotation":"US","timeFormatNotation":"US","numberFormatNotation":"US","roles":[0]}'

POST /uauth/users/activate — Activate users

/api-reference/identity-and-access-management#tag/User-management/operation/activateUsersUsingPOST

Activate access to the workspace for a number of users


API consumer: Synerise User

User role permission required: settings_users: delete

Request body

application/json · uauth-ActivationRequest

FieldTypeRequiredDescription
idsarray<uauth-UserIdInteger>optionalAn array of user IDs

Responses

StatusDescription
200OK

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/uauth/users/activate \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"ids":[0]}'

POST /uauth/users/deactivate — De-activate users

/api-reference/identity-and-access-management#tag/User-management/operation/deactivateUsersUsingPOST

De-activate access to the workspace for a number of users


API consumer: Synerise User

User role permission required: settings_users: update

Request body

application/json · uauth-ActivationRequest

FieldTypeRequiredDescription
idsarray<uauth-UserIdInteger>optionalAn array of user IDs

Responses

StatusDescription
200OK

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/uauth/users/deactivate \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"ids":[0]}'

PUT /uauth/users/{userId}/access-time — Change access expiration time

/api-reference/identity-and-access-management#tag/User-management/operation/changeUserAccessExpirationDateUsingPut

Change the date when a user's access to the workspace is cancelled.


API consumer: Synerise User

User role permission required: settings_users: update

Parameters

NameInTypeRequiredDescription
userIdpathintegerrequiredUser ID

Request body (required)

application/json · uauth-ReactUserProlongAccessRequest

FieldTypeRequiredDescription
expirationDatestringoptionalNew access expiration time (ISO 8601, UTC time unless timezone is specified)

Responses

StatusDescription
200OK
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request PUT \
  --url https://api.synerise.com/uauth/users/%7BuserId%7D/access-time \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"expirationDate":"2019-08-24T14:15:22Z"}'

POST /uauth/users/{userId}/password-reset — Reset another user's password

/api-reference/identity-and-access-management#tag/User-management/operation/resetPasswordUsingPOST

Request a password reset for another user. That user receives an email with a password reset token. Their account is locked until the new password is set.


API consumer: Synerise User

User role permission required: settings_users: update

Parameters

NameInTypeRequiredDescription
userIdpathintegerrequiredUser ID

Responses

StatusDescription
200OK

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/uauth/users/%7BuserId%7D/password-reset

PUT /uauth/users/{userId}/mfa-reset — Reset another user's multi-factor authentication

/api-reference/identity-and-access-management#tag/User-management/operation/resetMFAUsingPUT

You can reset the settings of another user's multi-factor authentication. This can be used, for example, if the user has lost both their device with the MFA application and the recovery code. The user will need to re-enable MFA in the same way as when setting it up for the first time.


API consumer: Synerise User

User role permission required: settings_users: update

Parameters

NameInTypeRequiredDescription
userIdpathintegerrequiredUser ID

Responses

StatusDescription
200OK

Example request (cURL)

curl --request PUT \
  --url https://api.synerise.com/uauth/users/%7BuserId%7D/mfa-reset

DELETE /uauth/users/{ids} — Delete user account

/api-reference/identity-and-access-management#tag/User-management/operation/deleteManagedUserUsingDELETE

Permanently deletes a user account.


API consumer: Synerise User

User role permission required: settings_users: delete

Parameters

NameInTypeRequiredDescription
idspathstringrequiredComma-separated user IDs

Responses

StatusDescription
200OK

Example request (cURL)

curl --request DELETE \
  --url 'https://api.synerise.com/uauth/users/11405,11406,11407' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

Access groups

GET /uauth/permissions/group/role/{roleId} — List grouped permissions

/api-reference/identity-and-access-management#tag/Access-groups/operation/listPermissionGroupUsingGET

List all permissions for a role, including information about permission grouping.


API consumer: Synerise User

User role permission required: settings_users: read

Parameters

NameInTypeRequiredDescription
roleIdpathintegerrequiredRole ID

Responses

StatusDescription
200 application/jsonThis schema is recursive: the children array can include more groups, which include more groups, etc.
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/uauth/permissions/group/role/%7BroleId%7D

GET /uauth/roles/listing — Get role groups

/api-reference/identity-and-access-management#tag/Access-groups/operation/getRoleGroupsUsingGET

Retrieve a list of user role groups.


API consumer: Synerise User

User role permission required: settings_users: read

Responses

StatusDescription
200 application/jsonOK
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/uauth/roles/listing \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /uauth/roles/role-group — Create role group

/api-reference/identity-and-access-management#tag/Access-groups/operation/createRoleGroupUsingPOST

Create a new role group. A new group does not include any roles. To add a role to a group, update the role.


API consumer: Synerise User

User role permission required: settings_users: create

Request body (required)

application/json · uauth-RoleGroupDataRequest

FieldTypeRequiredDescription
namestringoptionalName of the role group
descriptionstringoptionalDescription of the role group

Responses

StatusDescription
200 application/jsonNew group created; response includes all existing groups
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/uauth/roles/role-group \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"name":"string","description":"string"}'

POST /uauth/roles/role-group/{groupId} — Update role group

/api-reference/identity-and-access-management#tag/Access-groups/operation/updateRoleGroupUsingPOST

Update a group. To add a role to a group, update the role.


API consumer: Synerise User

User role permission required: settings_users: update

Parameters

NameInTypeRequiredDescription
groupIdpathintegerrequiredRole group ID

Request body (required)

application/json · uauth-RoleGroupDataRequest

FieldTypeRequiredDescription
namestringoptionalName of the role group
descriptionstringoptionalDescription of the role group

Responses

StatusDescription
200 application/jsonGroup updated; response includes all existing groups
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/uauth/roles/role-group/%7BgroupId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"name":"string","description":"string"}'

DELETE /uauth/roles/role-group/{groupId} — Delete role group

/api-reference/identity-and-access-management#tag/Access-groups/operation/deleteRoleGroupUsingDELETE

Delete a role group permanently.


API consumer: Synerise User

User role permission required: settings_users: delete

Parameters

NameInTypeRequiredDescription
groupIdpathintegerrequiredRole group ID

Responses

StatusDescription
200 application/jsonGroup deleted; response includes all existing groups
401Unauthorized
403Forbidden

Example request (cURL)

curl --request DELETE \
  --url https://api.synerise.com/uauth/roles/role-group/%7BgroupId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /uauth/roles/role — Create role

/api-reference/identity-and-access-management#tag/Access-groups/operation/createRoleUsingPOST

Create a new user role.


API consumer: Synerise User

User role permission required: settings_users: update

Request body (required)

application/json · uauth-RoleDataRequest

FieldTypeRequiredDescription
groupintegerrequiredID of the group that includes this role
namestringrequiredThe name of the role
descriptionstringoptionalDescription of the role

Responses

StatusDescription
200 application/jsonRole created
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/uauth/roles/role \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"group":0,"name":"string","description":"string"}'

GET /uauth/roles/{roleId} — Get role

/api-reference/identity-and-access-management#tag/Access-groups/operation/getRoleUsingGET

Retrieve the details of a user role


API consumer: Synerise User

User role permission required: settings_users: read

Parameters

NameInTypeRequiredDescription
roleIdpathintegerrequiredRole ID

Responses

StatusDescription
200 application/jsonOK
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/uauth/roles/%7BroleId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /uauth/roles/role/{roleId} — Update role

/api-reference/identity-and-access-management#tag/Access-groups/operation/updateRoleUsingPOST

Update a user role.


API consumer: Synerise User

User role permission required: settings_users: update

Parameters

NameInTypeRequiredDescription
roleIdpathintegerrequiredRole ID

Request body (required)

application/json · uauth-RoleDataRequest

FieldTypeRequiredDescription
groupintegerrequiredID of the group that includes this role
namestringrequiredThe name of the role
descriptionstringoptionalDescription of the role

Responses

StatusDescription
200 application/jsonRole updated
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/uauth/roles/role/%7BroleId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"group":0,"name":"string","description":"string"}'

DELETE /uauth/roles/role/{roleId} — Delete role

/api-reference/identity-and-access-management#tag/Access-groups/operation/deleteRoleUsingDELETE_1

Delete a user role permanently.


API consumer: Synerise User

User role permission required: settings_users: delete

Parameters

NameInTypeRequiredDescription
roleIdpathintegerrequiredRole ID

Responses

StatusDescription
200 application/jsonRole deleted, response includes all existing groups
401Unauthorized
403Forbidden

Example request (cURL)

curl --request DELETE \
  --url https://api.synerise.com/uauth/roles/role/%7BroleId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /uauth/users/available-roles — Get available roles

/api-reference/identity-and-access-management#tag/Access-groups/operation/getAvailableRolesUsingGET

Retrieve a list of user roles available in the business profile.


API consumer: Synerise User

Authentication: Not required

Responses

StatusDescription
200 application/jsonOK
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/uauth/users/available-roles

User account management

POST /uauth/change-password — Change user password

/api-reference/identity-and-access-management#tag/User-account-management/operation/changePasswordUsingPOST

Change a user's password.


API consumer: Synerise User

Request body

application/json · uauth-ChangePasswordRequest

FieldTypeRequiredDescription
currentPasswordstringoptionalThe current password
newPasswordstringoptionalThe new password

Responses

StatusDescription
200 application/jsonOK
201Created
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/uauth/change-password \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"currentPassword":"string","newPassword":"string"}'

POST /uauth/password-reset/request — Request user password reset

/api-reference/identity-and-access-management#tag/User-account-management/operation/requestPasswordResetUsingPOST

The user can request a password reset token sent by email.


Authentication: Not required

Request body

application/json · uauth-PasswordResetRequest

FieldTypeRequiredDescription
emailstringrequiredUser's email address

Responses

StatusDescription
200OK
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/uauth/password-reset/request \
  --header 'content-type: application/json' \
  --data '{"email":"string"}'

POST /uauth/password-reset/confirmation — Confirm user password reset

/api-reference/identity-and-access-management#tag/User-account-management/operation/confirmPasswordResetUsingPOST

Confirm user password reset using the token received by email.


Authentication: Not required

Request body

application/json · uauth-PasswordResetConfirmation

FieldTypeRequiredDescription
tokenstringoptionalPassword reset token received by email
passwordstringoptionalThe new password

Responses

StatusDescription
200OK
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/uauth/password-reset/confirmation \
  --header 'content-type: application/json' \
  --data '{"token":"string","password":"string"}'

GET /uauth/user/confirmation/{confirmationToken} — Confirm user registration

/api-reference/identity-and-access-management#tag/User-account-management/operation/confirmUserUsingGET

Confirm user registration. The token is sent by email.


Authentication: Not required

Parameters

NameInTypeRequiredDescription
confirmationTokenpathstringrequiredConfirmation token

Responses

StatusDescription
200OK
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/uauth/user/confirmation/%7BconfirmationToken%7D

POST /uauth/user/register — Register user

/api-reference/identity-and-access-management#tag/User-account-management/operation/registerUserUsingPOST

Register a new user. Before the new account can be used, it must be confirmed.


Authentication: Not required

Request body (required)

application/json · uauth-UserRegistrationRequest

FieldTypeRequiredDescription
emailstringrequiredUser's email address
passwordstringrequiredAccount password
invitationTokenstringoptionalInvitation token, received from another user
externalProviderTokenstringoptional
externalProviderTypeenum<"GOOGLE">optional

Responses

StatusDescription
200OK
401Unauthorized
403Forbidden
404Not Found
409User already registered

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/uauth/user/register \
  --header 'content-type: application/json' \
  --data '{"email":"string","password":"string","invitationToken":"string","externalProviderToken":"string","externalProviderType":"GOOGLE"}'

POST /uauth/user/register/resend-confirmation — Re-send user confirmation token

/api-reference/identity-and-access-management#tag/User-account-management/operation/resendConfirmationUsingPOST

If the confirmation token does not reach the user's inbox, you can send a new one.


Authentication: Not required

Request body

application/json · uauth-ResendConfirmationPayload

FieldTypeRequiredDescription
emailstringoptionalUser's email address

Responses

StatusDescription
200OK
201Created
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/uauth/user/register/resend-confirmation \
  --header 'content-type: application/json' \
  --data '{"email":"string"}'

GET /uauth/users/my-account — Get user's own data

/api-reference/identity-and-access-management#tag/User-account-management/operation/getUserOwnDataUsingGET

A user can retrieve their account data.


API consumer: Synerise User

Responses

StatusDescription
200 application/jsonOK
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/uauth/users/my-account \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /uauth/users/my-account — Update user's own data

/api-reference/identity-and-access-management#tag/User-account-management/operation/updateUsersOwnDataUsingPOST

A user can update their own details.


API consumer: Synerise User

Request body

application/json · uauth-ReactUserEditRequest

FieldTypeRequiredDescription
firstNamestringoptionalFirst name of the user
lastNamestringoptionalLast name of the user
avatarstringoptionalURL of the user's avatar
phonestringoptionalUser's phone number
languageenum<"pl", "es", "pt", "en-GB", …>optionalUser's interface language
organizationRolestringoptionalUser's role in the organization
introductionstringoptionalUser's introduction
confirmedbooleanoptionalInforms if the account is confirmed
mailAccountIdintegeroptionalUnused field
descriptionstringoptionalUser's description
dateFormatNotationenum<"US", "EU">optional
timeFormatNotationenum<"US", "EU">optional
numberFormatNotationenum<"US", "EU">optional

Responses

StatusDescription
200 application/jsonOK
201Created
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/uauth/users/my-account \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"firstName":"string","lastName":"string","avatar":"string","phone":"string","language":"pl","organizationRole":"string","introduction":"string","confirmed":true,"mailAccountId":0,"description":"string","dateFormatNotation":"US","timeFormatNotation":"US","numberFormatNotation":"US"}'

DELETE /uauth/users/my-account — Delete user's own account

/api-reference/identity-and-access-management#tag/User-account-management/operation/deleteUserUsingDELETE

A user can delete their own account.


API consumer: Synerise User

Responses

StatusDescription
200OK
401Unauthorized
403Forbidden

Example request (cURL)

curl --request DELETE \
  --url https://api.synerise.com/uauth/users/my-account \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

Directory

GET /uauth/managed-domains — List managed domains

/api-reference/identity-and-access-management#tag/Directory/operation/getManagedDomainListUsingGET

Retrieve a list of all domains managed by the workspace.


API consumer: Synerise User

User role permission required: managed_domains: read

Parameters

NameInTypeRequiredDescription
pagequeryintegeroptionalPage number (first page is 1)
sizequeryintegeroptionalThe number of entries on a page

Responses

StatusDescription
200 application/jsonOK
201Created
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request GET \
  --url 'https://api.synerise.com/uauth/managed-domains?page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE'

DELETE /uauth/managed-domains — Delete managed domain

/api-reference/identity-and-access-management#tag/Directory/operation/deleteManagedDomainUsingDELETE

Remove management settings for a domain.


API consumer: Synerise User

User role permission required: managed_domains: delete

Request body

application/json · uauth-ManagedDomainRequest

FieldTypeRequiredDescription
domainstringrequiredDomain name

Responses

StatusDescription
201Created
204No Content
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request DELETE \
  --url https://api.synerise.com/uauth/managed-domains \
  --header 'content-type: application/json' \
  --data '{"domain":"synerise.com"}'

GET /uauth/managed-domains/initialize-code — Initialize managed domain

/api-reference/identity-and-access-management#tag/Directory/operation/initializeManagedDomainUsingPOST

Generate a verification string for a domain. This string is then used in this endpoint. The verification string for a particular workspace is always the same.


API consumer: Synerise User

User role permission required: managed_domains: create

Responses

StatusDescription
200 application/jsonOK
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/uauth/managed-domains/initialize-code

POST /uauth/managed-domains/verification — Verify managed domain

/api-reference/identity-and-access-management#tag/Directory/operation/verifyManagedDomainUsingPOST

Verify a managed domain to assign it to a workspace. All users who belong to the domain are managed by that workspace.


API consumer: Synerise User

User role permission required: managed_domains: create

Request body (required)

application/json · uauth-ManagedDomainVerificationRequest

FieldTypeRequiredDescription
domainstringrequiredDomain name
verificationMethodenum<"TXT_RECORD", "FILE_CHECK", "INTERNAL", "NONE">requiredVerification method. The verification string can be retrieved by using this method. TXT_RECORD: the verification string needs to be added to your DNS as a TXT record. FILE_CHECK: the site must include an HTML file whose name is the verification string. The file does not need any content. INTERNAL; NONE - currently not used

Responses

StatusDescription
200 application/jsonOK
201Created
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/uauth/managed-domains/verification \
  --header 'content-type: application/json' \
  --data '{"domain":"synerise.com","verificationMethod":"TXT_RECORD"}'

Back to all API categories