Authorization — API Reference

Authorize your application to access Synerise APIs

28 endpoints across 2 tags.

Authorization

POST /sauth/v3/auth/refresh/client — Refresh a Profile token

/api-reference/authorization#tag/Authorization/operation/RefreshAClientTokenV3

Retrieve a refreshed JWT Token to prolong the session.

The current token must still be active at the time of the request.


API consumers: Profile (Client), Anonymous Profile

Authentication: Not required

Request body (required)

application/json · sauth-ClientRefreshRequest

FieldTypeRequiredDescription
apiKeystringrequiredProfile (formerly "Client") API key

Responses

StatusDescription
200 application/jsonNew authorization token
401 application/jsonUnauthorized

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/sauth/v3/auth/refresh/client \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"apiKey":"string"}'

POST /sauth/v3/auth/login/client — Authenticate as Profile

/api-reference/authorization#tag/Authorization/operation/authenticateUsingPOST_v3

Obtain a new JWT for a Profile. If an account for the Profile does not exist and the identityProvider is different than SYNERISE, this request creates an account.


Authentication: Not required

Request body

application/json · sauth-AuthenticationRequestV2_and_3

FieldTypeRequiredDescription
apiKeystringrequiredProfile (formerly "Client") API key
identityProviderenum<"SYNERISE", "FACEBOOK", "OAUTH", "APPLE", …>requiredThe identity provider.
identityProviderTokenstringoptionalThird-party authentication token used to authenticate with the Identity Provider. Required if identityProvider is different than SYNERISE.
emailstringoptionalProfile email. Required if identityProvider is SYNERISE and email is the unique identifier (default setting).
customIdoptionalProfile customId. Required if identityProvider is SYNERISE and customId is the unique identifier (see https://hub.synerise.com/docs/settings/configuration/non-unique-emails/).
passwordstringoptionalProfile password. Required if identityProvider is SYNERISE.
uuidstringoptionalProfile UUID. Required if identityProvider is SYNERISE.
deviceIdstringoptionalUnique Android or iOS device ID. We recommend sending this attribute every time, to assign a web push registration to the device. Required when any form of unknown device control is enabled.
agreementsobjectoptionalMarketing agreements of the Profile. You can also pass the values as strings ("true";"TRUE";"True"/"false";"FALSE";"False") or integers (1 for true and 0 for false).
attributesobjectoptionalCustom attributes (with any names) WARNING: Some attributes cannot be sent in this object and will be ignored. Some of these are reserved for system use, and others must be sent as properties of the profile in the root object of the request body instead of inside the attributes object. Click to expand the list of reserved attributes emailidclientIdphonecustomIduuidfirstNamelastName displayNamecompanyaddresscityprovincezipCodecountryCode birthDatesexavatarUrlanonymousagreementstagsbusinessProfileId timeipsourcenewsletter_agreementcustom_identifyfirstname lastnamecreatedupdatedlast_activity_datebirthdateexternal_avatar_url displaynamereceive_smsesreceive_push_messagesreceive_webpush_messages receive_btooth_messagesreceive_rfid_messagesreceive_wifi_messagesreceive_whatsapp_messageswhatsapp_id zipCodeanonymous_typecountry_idgeo_loc_countrygeo_loc_isp geo_loc_latgeo_loc_lonclub_card_idtypeconfirmedfacebookIddeletedAtdeleted_uniquestatusrecognizedprevious_clientstestProfile apikeyapiKeyApiKeyApikeytrackersnr_sdk_version eventCreateTimecorrelationId
tagsarray<string>optionalTags can be used to group Profile accounts.

Responses

StatusDescription
200 application/jsonProfile authorization token
400 application/jsonRequest failed, see error message for details
401 application/jsonUnauthorized.
403 application/jsonAuthentication failed, see error message for details
404 application/jsonProfile not found
406 application/jsonAccount is locked, password reset required
423 application/jsonDevice control is enabled, device must be authorized (link sent by email)

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/sauth/v3/auth/login/client \
  --header 'content-type: application/json' \
  --data '{"apiKey":"string","identityProvider":"SYNERISE","identityProviderToken":"string","email":"string","customId":null,"password":"string","uuid":"string","deviceId":"string","agreements":{"email":true,"sms":true,"push":true,"bluetooth":false,"rfid":false,"wifi":false},"attributes":{"property1":null,"property2":null},"tags":["string"]}'

POST /sauth/v3/auth/server/login/client — Authenticate Profile with a server

/api-reference/authorization#tag/Authorization/operation/authenticateViaServerV3

Obtain a new JWT for a Profile. This method is designed to be used from a backend server that handles login requests and communicates with Synerise to execute them.
If an account for the Profile does not exist and the identityProvider is different than SYNERISE, this request creates an account.


API consumer: Workspace (Business Profile)

API key permission required: SAUTH_SERVER_LOGIN_CLIENT_CREATE

Request body

application/json · sauth-ServerAuthenticationRequestV2_and_3

FieldTypeRequiredDescription
ipAddressstringrequiredThe IP address of the client device that is logging in.
apiKeystringrequiredProfile (formerly "Client") API key
identityProviderenum<"SYNERISE", "FACEBOOK", "OAUTH", "APPLE", …>requiredThe identity provider.
identityProviderTokenstringoptionalThird-party authentication token used to authenticate with the Identity Provider. Required if identityProvider is different than SYNERISE.
emailstringoptionalProfile email. Required if identityProvider is SYNERISE and email is the unique identifier (default setting).
customIdoptionalProfile customId. Required if identityProvider is SYNERISE and customId is the unique identifier (see https://hub.synerise.com/docs/settings/configuration/non-unique-emails/).
passwordstringoptionalProfile password. Required if identityProvider is SYNERISE.
uuidstringoptionalProfile UUID. Required if identityProvider is SYNERISE.
deviceIdstringoptionalUnique Android or iOS device ID. We recommend sending this attribute every time, to assign a web push registration to the device. Required when any form of unknown device control is enabled.
agreementsobjectoptionalMarketing agreements of the Profile. You can also pass the values as strings ("true";"TRUE";"True"/"false";"FALSE";"False") or integers (1 for true and 0 for false).
attributesobjectoptionalCustom attributes (with any names) WARNING: Some attributes cannot be sent in this object and will be ignored. Some of these are reserved for system use, and others must be sent as properties of the profile in the root object of the request body instead of inside the attributes object. Click to expand the list of reserved attributes emailidclientIdphonecustomIduuidfirstNamelastName displayNamecompanyaddresscityprovincezipCodecountryCode birthDatesexavatarUrlanonymousagreementstagsbusinessProfileId timeipsourcenewsletter_agreementcustom_identifyfirstname lastnamecreatedupdatedlast_activity_datebirthdateexternal_avatar_url displaynamereceive_smsesreceive_push_messagesreceive_webpush_messages receive_btooth_messagesreceive_rfid_messagesreceive_wifi_messagesreceive_whatsapp_messageswhatsapp_id zipCodeanonymous_typecountry_idgeo_loc_countrygeo_loc_isp geo_loc_latgeo_loc_lonclub_card_idtypeconfirmedfacebookIddeletedAtdeleted_uniquestatusrecognizedprevious_clientstestProfile apikeyapiKeyApiKeyApikeytrackersnr_sdk_version eventCreateTimecorrelationId
tagsarray<string>optionalTags can be used to group Profile accounts.

Responses

StatusDescription
200 application/jsonProfile authorization token
400 application/jsonRequest failed, see error message for details
401 application/jsonUnauthorized.
403 application/jsonAuthentication failed, see error message for details
404 application/jsonProfile not found
406 application/jsonAccount is locked, password reset required
423 application/jsonDevice control is enabled, device must be authorized (link sent by email)

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/sauth/v3/auth/server/login/client \
  --header 'content-type: application/json' \
  --data '{"ipAddress":"string","apiKey":"string","identityProvider":"SYNERISE","identityProviderToken":"string","email":"string","customId":null,"password":"string","uuid":"string","deviceId":"string","agreements":{"email":true,"sms":true,"push":true,"bluetooth":false,"rfid":false,"wifi":false},"attributes":{"property1":null,"property2":null},"tags":["string"]}'

POST /sauth/v3/auth/login/client/conditional — Authenticate as Profile (conditional)

/api-reference/authorization#tag/Authorization/operation/authenticateConditionalUsingPOSTv3

Obtain a new JWT token for a Profile.

  • If the account does not exist, an account is not created.
  • If any additional conditions are required for logging in, the response is HTTP200 and lists the conditions.
  • Note that using this endpoint requires authenticating as an anonymous Profile first.

Authentication: Not required

Request body

application/json · sauth-AuthenticationRequestV2_and_3

FieldTypeRequiredDescription
apiKeystringrequiredProfile (formerly "Client") API key
identityProviderenum<"SYNERISE", "FACEBOOK", "OAUTH", "APPLE", …>requiredThe identity provider.
identityProviderTokenstringoptionalThird-party authentication token used to authenticate with the Identity Provider. Required if identityProvider is different than SYNERISE.
emailstringoptionalProfile email. Required if identityProvider is SYNERISE and email is the unique identifier (default setting).
customIdoptionalProfile customId. Required if identityProvider is SYNERISE and customId is the unique identifier (see https://hub.synerise.com/docs/settings/configuration/non-unique-emails/).
passwordstringoptionalProfile password. Required if identityProvider is SYNERISE.
uuidstringoptionalProfile UUID. Required if identityProvider is SYNERISE.
deviceIdstringoptionalUnique Android or iOS device ID. We recommend sending this attribute every time, to assign a web push registration to the device. Required when any form of unknown device control is enabled.
agreementsobjectoptionalMarketing agreements of the Profile. You can also pass the values as strings ("true";"TRUE";"True"/"false";"FALSE";"False") or integers (1 for true and 0 for false).
attributesobjectoptionalCustom attributes (with any names) WARNING: Some attributes cannot be sent in this object and will be ignored. Some of these are reserved for system use, and others must be sent as properties of the profile in the root object of the request body instead of inside the attributes object. Click to expand the list of reserved attributes emailidclientIdphonecustomIduuidfirstNamelastName displayNamecompanyaddresscityprovincezipCodecountryCode birthDatesexavatarUrlanonymousagreementstagsbusinessProfileId timeipsourcenewsletter_agreementcustom_identifyfirstname lastnamecreatedupdatedlast_activity_datebirthdateexternal_avatar_url displaynamereceive_smsesreceive_push_messagesreceive_webpush_messages receive_btooth_messagesreceive_rfid_messagesreceive_wifi_messagesreceive_whatsapp_messageswhatsapp_id zipCodeanonymous_typecountry_idgeo_loc_countrygeo_loc_isp geo_loc_latgeo_loc_lonclub_card_idtypeconfirmedfacebookIddeletedAtdeleted_uniquestatusrecognizedprevious_clientstestProfile apikeyapiKeyApiKeyApikeytrackersnr_sdk_version eventCreateTimecorrelationId
tagsarray<string>optionalTags can be used to group Profile accounts.

Responses

StatusDescription
200 application/jsonDetails of the login operation
400 application/jsonRequest failed, see error message for details
401 application/jsonSee error message for details
403 application/jsonAuthentication failed, see error message for details
404 application/jsonProfile not found
406 application/jsonAccount is locked, password reset required
423 application/jsonDevice control is enabled, device must be authorized (link sent by email)

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/sauth/v3/auth/login/client/conditional \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"apiKey":"string","identityProvider":"SYNERISE","identityProviderToken":"string","email":"string","customId":null,"password":"string","uuid":"string","deviceId":"string","agreements":{"email":true,"sms":true,"push":true,"bluetooth":false,"rfid":false,"wifi":false},"attributes":{"property1":null,"property2":null},"tags":["string"]}'

POST /sauth/v3/auth/login/client/anonymous — Authenticate anonymously

/api-reference/authorization#tag/Authorization/operation/LogInAnonymouslyV3

Obtain a new JWT for an anonymous Profile. The token can be used and refreshed in the same way as tokens of registered Profiles.


Authentication: Not required

Request body (required)

application/json · sauth-LogInAnonymouslyV3RequestBody

FieldTypeRequiredDescription
apiKeystringrequiredProfile (formerly "Client") API key
uuidstringrequiredUUID of the Profile
deviceIdstringoptionalUnique iOS or Android device identifier.

Responses

StatusDescription
200 application/jsonAnonymous authorization token
401 application/jsonUnauthorized

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/sauth/v3/auth/login/client/anonymous \
  --header 'content-type: application/json' \
  --data '{"apiKey":"string","uuid":"07243772-008a-42e1-ba37-c3807cebde8f","deviceId":"string"}'

POST /uauth/auth/login/user — Log in as User

/api-reference/authorization#tag/Authorization/operation/userLogin

Authenticate as a User.

Note: To perform operations within a Workspace, you must select a Workspace.


Authentication: Not required

Request body (required)

application/json · uauth-UserAuthenticationRequest

FieldTypeRequiredDescription
usernamestringrequiredThe login (email address) of the user
passwordstringrequiredThe user's password
deviceIdstringoptionalIdentifier of user's current device
externalProviderTokenstringoptional
externalProviderTypeenum<"GOOGLE">optional
organizationNamestringoptionalOptional organization name for login context

Responses

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

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/uauth/auth/login/user \
  --header 'content-type: application/json' \
  --data '{"username":"string","password":"string","deviceId":"string","externalProviderToken":"string","externalProviderType":"GOOGLE","organizationName":"string"}'

POST /uauth/auth/login/user/mfa/verification — Verify User multi-factor authentication

/api-reference/authorization#tag/Authorization/operation/userMfaLogin

Authenticate as a User with multi-factor authentication.

Note: To perform operations within a Workspace, you must select a Workspace.


API consumer: Synerise User

Parameters

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

Request body (required)

application/json · uauth-MultiFactorAuthVerificationRequest

FieldTypeRequiredDescription
verificationCodestringrequiredMulti-factor verification code
deviceIdstringoptional
externalProviderTokenstringoptional
externalProviderTypeenum<"GOOGLE">optional
organizationNamestringoptionalOptional organization name for login context

Responses

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

Example request (cURL)

curl --request POST \
  --url 'https://api.synerise.com/uauth/auth/login/user/mfa/verification?mfaType=SOME_STRING_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"verificationCode":"string","deviceId":"string","externalProviderToken":"string","externalProviderType":"GOOGLE","organizationName":"string"}'

POST /uauth/auth/login/user/profile/{businessProfileUUID} — Select Workspace

/api-reference/authorization#tag/Authorization/operation/userProfileLoginUsingPOST

After logging in as a User, select a Workspace where you want to perform operations.


API consumer: Synerise User

Parameters

NameInTypeRequiredDescription
businessProfileUUIDpathstringrequiredUUID of the workspace

Responses

StatusDescription
200 application/jsonLogin details
401Unauthorized
403Forbidden
404Not Found
423 application/jsonAccess denied by IP policy

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/uauth/auth/login/user/profile/%7BbusinessProfileUUID%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /uauth/business-profile/ — Get Workspaces

/api-reference/authorization#tag/Authorization/operation/getBusinessProfilesUsingGET

Retrieve a list of Workspaces available to the user.


API consumer: Synerise User

Parameters

NameInTypeRequiredDescription
pagequeryintegeroptionalPage number
sizequeryintegeroptionalPage size
queryquerystringoptionalSearch query
sortquerystringoptionalSort field

Responses

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

Example request (cURL)

curl --request GET \
  --url 'https://api.synerise.com/uauth/business-profile/?page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&query=SOME_STRING_VALUE&sort=SOME_STRING_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /uauth/business-profile/ids — Get Workspaces ids with user-specific data

/api-reference/authorization#tag/Authorization/operation/getBusinessProfilesIdsUsingGET

Retrieve a list of workspace ids available to the user, with added user-specific 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/business-profile/ids \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /uauth/business-profile/current — Get current Workspace

/api-reference/authorization#tag/Authorization/operation/getCurrentBusinessProfileUsingGET

Retrieve information about the currently selected workspace.


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/business-profile/current \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /uauth/v2/auth/login/profile — Log in as Workspace

/api-reference/authorization#tag/Authorization/operation/profileLogin

Obtain a new Workspace JWT Token.


Authentication: Not required

Request body (required)

application/json · uauth-BusinessProfileAuthenticationRequest

FieldTypeRequiredDescription
apiKeystringrequiredWorkspace API key WARNING: Workspace API keys can be used to access all customer data and manage the workspace. They should only be used for server-to-server communication in integrations. DO NOT use workspace API keys in your mobile applications or websites.

Responses

StatusDescription
200 application/jsonNew JWT token for Workspace authentication
400 application/jsonRequest malformed
401 application/jsonUnauthorized, API key does not exist

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/uauth/v2/auth/login/profile \
  --header 'content-type: application/json' \
  --data '{"apiKey":"64c09614-1b2a-42f7-804d-f647243eb1ab"}'

Authorization (deprecated)

GET /v4/auth/refresh/profile — Refresh a Workspace token (deprecated)

/api-reference/authorization#tag/Authorization-(deprecated)/operation/RefreshABusinessProfileToken

Retrieve a refreshed JWT Token to prolong the Workspace session.


API consumer: Workspace (Business Profile)

Authentication: Not required

Parameters

NameInTypeRequiredDescription
Content-Typeheaderenum<"application/json">required
Api-Versionheaderenum<"4.4">required

Responses

StatusDescription
200 application/jsonNew authorization token
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions (when PII protection is enabled, PII permissions are required in addition to the permissions listed in the method description)

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/v4/auth/refresh/profile \
  --header 'Api-Version: SOME_STRING_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'Content-Type: SOME_STRING_VALUE'

POST /v4/auth/login/profile — Log in as Workspace (deprecated)

/api-reference/authorization#tag/Authorization-(deprecated)/operation/LogInAsBusinessProfile

This endpoint is deprecated. Use this endpoint instead.


Authentication: Not required

Parameters

NameInTypeRequiredDescription
Api-Versionheaderenum<"4.4">required

Request body (required)

application/json · object

FieldTypeRequiredDescription
apiKeystringrequiredWorkspace (formerly Business Profile) API key

Responses

StatusDescription
200 application/jsonWorkspace authorization token
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/v4/auth/login/profile \
  --header 'Api-Version: SOME_STRING_VALUE' \
  --header 'content-type: application/json' \
  --data '{"apiKey":"64c09614-1b2a-42f7-804d-f647243eb1ab"}'

POST /sauth/auth/login/client — Authenticate as Profile (deprecated)

/api-reference/authorization#tag/Authorization-(deprecated)/operation/LogInAsClient

Obtain a new Profile JWT Token.


Authentication: Not required

Request body (required)

application/json · sauth-LogInAsClientRequestBody

FieldTypeRequiredDescription
apiKeystringoptionalProfile (formerly "Client") API key
emailstringoptionalProfile email
passwordstringoptionalProfile password
uuidstringoptionalUUID of the Profile
deviceIdstringoptionalImportant: deviceId is required during login if device control is enabled.

Responses

StatusDescription
200 application/jsonProfile authorization token
401 application/jsonUnauthorized
404 application/jsonProfile not found
406 application/jsonAccount is locked, password reset required
423 application/jsonDevice control is enabled, device must be authorized (link sent by email)

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/sauth/auth/login/client \
  --header 'content-type: application/json' \
  --data '{"apiKey":"string","email":"string","password":"string","uuid":"07243772-008a-42e1-ba37-c3807cebde8f","deviceId":"string"}'

POST /sauth/auth/login/client/anonymous — Authenticate anonymously (deprecated)

/api-reference/authorization#tag/Authorization-(deprecated)/operation/LogInAnonymously

Obtain a new JWT for an anonymous Profile. The token can be used and refreshed in the same way as tokens of registered Profiles.


Authentication: Not required

Request body (required)

application/json · sauth-LogInAnonymouslyRequestBody

FieldTypeRequiredDescription
apiKeystringoptionalProfile (formerly "Client") API key
deviceIdstringoptionalUnique Android or iOS device ID. We recommend sending this attribute every time, to assign a web push registration to the device. Required when any form of unknown device control is enabled.
uuidstringoptionalUUID of the Profile

Responses

StatusDescription
200 application/jsonAnonymous authorization token
401 application/jsonUnauthorized

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/sauth/auth/login/client/anonymous \
  --header 'content-type: application/json' \
  --data '{"apiKey":"string","deviceId":"string","uuid":"07243772-008a-42e1-ba37-c3807cebde8f"}'

POST /sauth/auth/login/client/facebook — Authenticate with Facebook (deprecated)

/api-reference/authorization#tag/Authorization-(deprecated)/operation/AuthenticateWithFacebook

Use a Facebook token to obtain a Profile JWT. If a Facebook account is logging on for the first time, a self-managed account for the profile is registered in Synerise.


Authentication: Not required

Request body (required)

application/json · sauth-AuthenticateWithFacebookRequestBody

FieldTypeRequiredDescription
facebookTokenstringoptionalFacebook authentication token
apiKeystringoptionalProfile (formerly "Client") API key
uuidstringoptionalUUID of the Profile
deviceIdstringoptionalUnique Android or iOS device ID. We recommend sending this attribute every time, to assign a web push registration to the device. Required when any form of unknown device control is enabled.
agreementsobjectoptionalMarketing agreements of the Profile. You can also pass the values as strings ("true";"TRUE";"True"/"false";"FALSE";"False") or integers (1 for true and 0 for false).
attributesobjectoptionalCustom attributes (with any names) WARNING: Some attributes cannot be sent in this object and will be ignored. Some of these are reserved for system use, and others must be sent as properties of the profile in the root object of the request body instead of inside the attributes object. Click to expand the list of reserved attributes emailidclientIdphonecustomIduuidfirstNamelastName displayNamecompanyaddresscityprovincezipCodecountryCode birthDatesexavatarUrlanonymousagreementstagsbusinessProfileId timeipsourcenewsletter_agreementcustom_identifyfirstname lastnamecreatedupdatedlast_activity_datebirthdateexternal_avatar_url displaynamereceive_smsesreceive_push_messagesreceive_webpush_messages receive_btooth_messagesreceive_rfid_messagesreceive_wifi_messagesreceive_whatsapp_messageswhatsapp_id zipCodeanonymous_typecountry_idgeo_loc_countrygeo_loc_isp geo_loc_latgeo_loc_lonclub_card_idtypeconfirmedfacebookIddeletedAtdeleted_uniquestatusrecognizedprevious_clientstestProfile apikeyapiKeyApiKeyApikeytrackersnr_sdk_version eventCreateTimecorrelationId
tagsarray<string>optionalTags can be used to group Profile accounts.

Responses

StatusDescription
200 application/jsonProfile authorization token

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/sauth/auth/login/client/facebook \
  --header 'content-type: application/json' \
  --data '{"facebookToken":"string","apiKey":"string","uuid":"07243772-008a-42e1-ba37-c3807cebde8f","deviceId":"string","agreements":{"email":true,"sms":true,"push":true,"bluetooth":false,"rfid":false,"wifi":false},"attributes":{"property1":null,"property2":null},"tags":["string"]}'

POST /sauth/auth/login/client/facebook/no-registration — Authenticate with Facebook without registration (deprecated)

/api-reference/authorization#tag/Authorization-(deprecated)/operation/AuthenticateWithFacebookWithoutRegistration

Use a Facebook token to obtain a Profile JWT without creating a self-managed account for this Profile in Synerise.


Authentication: Not required

Request body (required)

application/json · sauth-AuthenticateWithFacebookWithoutRegistrationRequestBody

FieldTypeRequiredDescription
facebookTokenstringoptionalFacebook Authentication Token
apiKeystringoptionalProfile (formerly "Client") API key
uuidstringoptionalUUID of the Profile
deviceIdstringoptionalUnique Android or iOS device ID. We recommend sending this attribute every time, to assign a web push registration to the device. Required when any form of unknown device control is enabled.
agreementsobjectoptionalMarketing agreements of the Profile. You can also pass the values as strings ("true";"TRUE";"True"/"false";"FALSE";"False") or integers (1 for true and 0 for false).
attributesobjectoptionalCustom attributes (with any names) WARNING: Some attributes cannot be sent in this object and will be ignored. Some of these are reserved for system use, and others must be sent as properties of the profile in the root object of the request body instead of inside the attributes object. Click to expand the list of reserved attributes emailidclientIdphonecustomIduuidfirstNamelastName displayNamecompanyaddresscityprovincezipCodecountryCode birthDatesexavatarUrlanonymousagreementstagsbusinessProfileId timeipsourcenewsletter_agreementcustom_identifyfirstname lastnamecreatedupdatedlast_activity_datebirthdateexternal_avatar_url displaynamereceive_smsesreceive_push_messagesreceive_webpush_messages receive_btooth_messagesreceive_rfid_messagesreceive_wifi_messagesreceive_whatsapp_messageswhatsapp_id zipCodeanonymous_typecountry_idgeo_loc_countrygeo_loc_isp geo_loc_latgeo_loc_lonclub_card_idtypeconfirmedfacebookIddeletedAtdeleted_uniquestatusrecognizedprevious_clientstestProfile apikeyapiKeyApiKeyApikeytrackersnr_sdk_version eventCreateTimecorrelationId
tagsarray<string>optionalTags can be used to group Profile accounts.

Responses

StatusDescription
200 application/jsonProfile authorization token

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/sauth/auth/login/client/facebook/no-registration \
  --header 'content-type: application/json' \
  --data '{"facebookToken":"string","apiKey":"string","uuid":"07243772-008a-42e1-ba37-c3807cebde8f","deviceId":"string","agreements":{"email":true,"sms":true,"push":true,"bluetooth":false,"rfid":false,"wifi":false},"attributes":{"property1":null,"property2":null},"tags":["string"]}'

POST /sauth/auth/login/client/oauth — Authenticate with OAuth (deprecated)

/api-reference/authorization#tag/Authorization-(deprecated)/operation/AuthenticateWithOauth

Obtain a new JWT token by using OAuth authentication token.


Authentication: Not required

Request body (required)

application/json · sauth-OauthAuthBody

FieldTypeRequiredDescription
accessTokenstringrequiredOAuth token
apiKeystringrequiredProfile API key (same as for Profile login)
uuidstringrequiredUUID of the Profile
deviceIdstringoptionalUnique Android or iOS device ID. We recommend sending this attribute every time, to assign a web push registration to the device. Required when any form of unknown device control is enabled.
agreementsobjectoptionalMarketing agreements of the Profile. You can also pass the values as strings ("true";"TRUE";"True"/"false";"FALSE";"False") or integers (1 for true and 0 for false).
attributesobjectoptionalCustom attributes (with any names) WARNING: Some attributes cannot be sent in this object and will be ignored. Some of these are reserved for system use, and others must be sent as properties of the profile in the root object of the request body instead of inside the attributes object. Click to expand the list of reserved attributes emailidclientIdphonecustomIduuidfirstNamelastName displayNamecompanyaddresscityprovincezipCodecountryCode birthDatesexavatarUrlanonymousagreementstagsbusinessProfileId timeipsourcenewsletter_agreementcustom_identifyfirstname lastnamecreatedupdatedlast_activity_datebirthdateexternal_avatar_url displaynamereceive_smsesreceive_push_messagesreceive_webpush_messages receive_btooth_messagesreceive_rfid_messagesreceive_wifi_messagesreceive_whatsapp_messageswhatsapp_id zipCodeanonymous_typecountry_idgeo_loc_countrygeo_loc_isp geo_loc_latgeo_loc_lonclub_card_idtypeconfirmedfacebookIddeletedAtdeleted_uniquestatusrecognizedprevious_clientstestProfile apikeyapiKeyApiKeyApikeytrackersnr_sdk_version eventCreateTimecorrelationId
tagsarray<string>optionalTags can be used to group Profile accounts.
customIdstringoptionalIf mappedExternal is set to FALSE in OAuth settings, this field is required.

Responses

StatusDescription
200 application/jsonProfile authorization token

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/sauth/auth/login/client/oauth \
  --header 'content-type: application/json' \
  --data '{"accessToken":"string","apiKey":"string","uuid":"07243772-008a-42e1-ba37-c3807cebde8f","deviceId":"string","agreements":{"email":true,"sms":true,"push":true,"bluetooth":false,"rfid":false,"wifi":false},"attributes":{"property1":null,"property2":null},"tags":["string"],"customId":"string"}'

POST /sauth/auth/login/client/oauth/no-registration — Authenticate with OAuth without registration (deprecated)

/api-reference/authorization#tag/Authorization-(deprecated)/operation/loginWithOauthWithoutRegistrationUsingPOST

Use an OAuth token to obtain a Profile JWT. This method does not create a Profile in Synerise.


Authentication: Not required

Request body (required)

application/json · sauth-OauthAuthBody

FieldTypeRequiredDescription
accessTokenstringrequiredOAuth token
apiKeystringrequiredProfile API key (same as for Profile login)
uuidstringrequiredUUID of the Profile
deviceIdstringoptionalUnique Android or iOS device ID. We recommend sending this attribute every time, to assign a web push registration to the device. Required when any form of unknown device control is enabled.
agreementsobjectoptionalMarketing agreements of the Profile. You can also pass the values as strings ("true";"TRUE";"True"/"false";"FALSE";"False") or integers (1 for true and 0 for false).
attributesobjectoptionalCustom attributes (with any names) WARNING: Some attributes cannot be sent in this object and will be ignored. Some of these are reserved for system use, and others must be sent as properties of the profile in the root object of the request body instead of inside the attributes object. Click to expand the list of reserved attributes emailidclientIdphonecustomIduuidfirstNamelastName displayNamecompanyaddresscityprovincezipCodecountryCode birthDatesexavatarUrlanonymousagreementstagsbusinessProfileId timeipsourcenewsletter_agreementcustom_identifyfirstname lastnamecreatedupdatedlast_activity_datebirthdateexternal_avatar_url displaynamereceive_smsesreceive_push_messagesreceive_webpush_messages receive_btooth_messagesreceive_rfid_messagesreceive_wifi_messagesreceive_whatsapp_messageswhatsapp_id zipCodeanonymous_typecountry_idgeo_loc_countrygeo_loc_isp geo_loc_latgeo_loc_lonclub_card_idtypeconfirmedfacebookIddeletedAtdeleted_uniquestatusrecognizedprevious_clientstestProfile apikeyapiKeyApiKeyApikeytrackersnr_sdk_version eventCreateTimecorrelationId
tagsarray<string>optionalTags can be used to group Profile accounts.
customIdstringoptionalIf mappedExternal is set to FALSE in OAuth settings, this field is required.

Responses

StatusDescription
200 application/jsonProfile authorization token

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/sauth/auth/login/client/oauth/no-registration \
  --header 'content-type: application/json' \
  --data '{"accessToken":"string","apiKey":"string","uuid":"07243772-008a-42e1-ba37-c3807cebde8f","deviceId":"string","agreements":{"email":true,"sms":true,"push":true,"bluetooth":false,"rfid":false,"wifi":false},"attributes":{"property1":null,"property2":null},"tags":["string"],"customId":"string"}'

POST /sauth/auth/login/client/apple — Authenticate with Sign in with Apple (deprecated)

/api-reference/authorization#tag/Authorization-(deprecated)/operation/AuthenticateWithApple

Obtain a new JWT token by using Sign in with Apple authentication token.


Authentication: Not required

Request body (required)

application/json · sauth-AuthenticateWithAppleRequestBody

FieldTypeRequiredDescription
accessTokenstringoptionalApple token
apiKeystringoptionalProfile (formerly "Client") API key
uuidstringoptionalUUID of the Profile
deviceIdstringoptionalUnique Android or iOS device ID. We recommend sending this attribute every time, to assign a web push registration to the device. Required when any form of unknown device control is enabled.
agreementsobjectoptionalMarketing agreements of the Profile. You can also pass the values as strings ("true";"TRUE";"True"/"false";"FALSE";"False") or integers (1 for true and 0 for false).
attributesobjectoptionalCustom attributes (with any names) WARNING: Some attributes cannot be sent in this object and will be ignored. Some of these are reserved for system use, and others must be sent as properties of the profile in the root object of the request body instead of inside the attributes object. Click to expand the list of reserved attributes emailidclientIdphonecustomIduuidfirstNamelastName displayNamecompanyaddresscityprovincezipCodecountryCode birthDatesexavatarUrlanonymousagreementstagsbusinessProfileId timeipsourcenewsletter_agreementcustom_identifyfirstname lastnamecreatedupdatedlast_activity_datebirthdateexternal_avatar_url displaynamereceive_smsesreceive_push_messagesreceive_webpush_messages receive_btooth_messagesreceive_rfid_messagesreceive_wifi_messagesreceive_whatsapp_messageswhatsapp_id zipCodeanonymous_typecountry_idgeo_loc_countrygeo_loc_isp geo_loc_latgeo_loc_lonclub_card_idtypeconfirmedfacebookIddeletedAtdeleted_uniquestatusrecognizedprevious_clientstestProfile apikeyapiKeyApiKeyApikeytrackersnr_sdk_version eventCreateTimecorrelationId
tagsarray<string>optionalTags can be used to group Profile accounts.

Responses

StatusDescription
200 application/jsonProfile authorization token

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/sauth/auth/login/client/apple \
  --header 'content-type: application/json' \
  --data '{"accessToken":"string","apiKey":"string","uuid":"07243772-008a-42e1-ba37-c3807cebde8f","deviceId":"string","agreements":{"email":true,"sms":true,"push":true,"bluetooth":false,"rfid":false,"wifi":false},"attributes":{"property1":null,"property2":null},"tags":["string"]}'

POST /sauth/auth/login/client/apple/no-registration — Authenticate with Sign in with Apple without registration (deprecated)

/api-reference/authorization#tag/Authorization-(deprecated)/operation/loginWithAppleWithoutRegistrationUsingPOST

Use an Apple token to obtain a Profile JWT. This method does not create a Profile in Synerise.


Authentication: Not required

Request body (required)

application/json · sauth-LoginWithAppleWithoutRegistrationRequestBody

FieldTypeRequiredDescription
accessTokenstringoptionalApple token
apiKeystringoptionalProfile (formerly "Client") API key
uuidstringoptionalUUID of the Profile
deviceIdstringoptionalUnique Android or iOS device ID. We recommend sending this attribute every time, to assign a web push registration to the device. Required when any form of unknown device control is enabled.
agreementsobjectoptionalMarketing agreements of the Profile. You can also pass the values as strings ("true";"TRUE";"True"/"false";"FALSE";"False") or integers (1 for true and 0 for false).
attributesobjectoptionalCustom attributes (with any names) WARNING: Some attributes cannot be sent in this object and will be ignored. Some of these are reserved for system use, and others must be sent as properties of the profile in the root object of the request body instead of inside the attributes object. Click to expand the list of reserved attributes emailidclientIdphonecustomIduuidfirstNamelastName displayNamecompanyaddresscityprovincezipCodecountryCode birthDatesexavatarUrlanonymousagreementstagsbusinessProfileId timeipsourcenewsletter_agreementcustom_identifyfirstname lastnamecreatedupdatedlast_activity_datebirthdateexternal_avatar_url displaynamereceive_smsesreceive_push_messagesreceive_webpush_messages receive_btooth_messagesreceive_rfid_messagesreceive_wifi_messagesreceive_whatsapp_messageswhatsapp_id zipCodeanonymous_typecountry_idgeo_loc_countrygeo_loc_isp geo_loc_latgeo_loc_lonclub_card_idtypeconfirmedfacebookIddeletedAtdeleted_uniquestatusrecognizedprevious_clientstestProfile apikeyapiKeyApiKeyApikeytrackersnr_sdk_version eventCreateTimecorrelationId
tagsarray<string>optionalTags can be used to group Profile accounts.

Responses

StatusDescription
200 application/jsonProfile authorization token

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/sauth/auth/login/client/apple/no-registration \
  --header 'content-type: application/json' \
  --data '{"accessToken":"string","apiKey":"string","uuid":"07243772-008a-42e1-ba37-c3807cebde8f","deviceId":"string","agreements":{"email":true,"sms":true,"push":true,"bluetooth":false,"rfid":false,"wifi":false},"attributes":{"property1":null,"property2":null},"tags":["string"]}'

GET /sauth/auth/refresh/client — Refresh a Profile token (deprecated)

/api-reference/authorization#tag/Authorization-(deprecated)/operation/RefreshAClientToken

Retrieve a refreshed JWT Token to prolong the Profile session.

The current token must still be active at the time of the request.


API consumers: Profile (Client), Anonymous Profile

Authentication: Not required

Responses

StatusDescription
200 application/jsonNew authorization token
401 application/jsonUnauthorized

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/sauth/auth/refresh/client \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /sauth/v2/auth/refresh/client — Refresh a Profile token (deprecated)

/api-reference/authorization#tag/Authorization-(deprecated)/operation/RefreshAClientTokenV2

This method is deprecated. Use the v3 method instead.

Retrieve a refreshed JWT Token to prolong the session.

The current token must still be active at the time of the request.


API consumers: Profile (Client), Anonymous Profile

Authentication: Not required

Request body (required)

application/json · sauth-ClientRefreshRequest

FieldTypeRequiredDescription
apiKeystringrequiredProfile (formerly "Client") API key

Responses

StatusDescription
200 application/jsonNew authorization token
401 application/jsonUnauthorized

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/sauth/v2/auth/refresh/client \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"apiKey":"string"}'

POST /sauth/v2/auth/login/client — Authenticate as Profile (deprecated)

/api-reference/authorization#tag/Authorization-(deprecated)/operation/authenticateUsingPOST_v2

This method is deprecated. Use the v3 method instead.

Obtain a new JWT token for a Profile. If an account for the Profile does not exist and the identityProvider is different than SYNERISE, this request creates an account.


Authentication: Not required

Request body

application/json · sauth-AuthenticationRequestV2_and_3

FieldTypeRequiredDescription
apiKeystringrequiredProfile (formerly "Client") API key
identityProviderenum<"SYNERISE", "FACEBOOK", "OAUTH", "APPLE", …>requiredThe identity provider.
identityProviderTokenstringoptionalThird-party authentication token used to authenticate with the Identity Provider. Required if identityProvider is different than SYNERISE.
emailstringoptionalProfile email. Required if identityProvider is SYNERISE and email is the unique identifier (default setting).
customIdoptionalProfile customId. Required if identityProvider is SYNERISE and customId is the unique identifier (see https://hub.synerise.com/docs/settings/configuration/non-unique-emails/).
passwordstringoptionalProfile password. Required if identityProvider is SYNERISE.
uuidstringoptionalProfile UUID. Required if identityProvider is SYNERISE.
deviceIdstringoptionalUnique Android or iOS device ID. We recommend sending this attribute every time, to assign a web push registration to the device. Required when any form of unknown device control is enabled.
agreementsobjectoptionalMarketing agreements of the Profile. You can also pass the values as strings ("true";"TRUE";"True"/"false";"FALSE";"False") or integers (1 for true and 0 for false).
attributesobjectoptionalCustom attributes (with any names) WARNING: Some attributes cannot be sent in this object and will be ignored. Some of these are reserved for system use, and others must be sent as properties of the profile in the root object of the request body instead of inside the attributes object. Click to expand the list of reserved attributes emailidclientIdphonecustomIduuidfirstNamelastName displayNamecompanyaddresscityprovincezipCodecountryCode birthDatesexavatarUrlanonymousagreementstagsbusinessProfileId timeipsourcenewsletter_agreementcustom_identifyfirstname lastnamecreatedupdatedlast_activity_datebirthdateexternal_avatar_url displaynamereceive_smsesreceive_push_messagesreceive_webpush_messages receive_btooth_messagesreceive_rfid_messagesreceive_wifi_messagesreceive_whatsapp_messageswhatsapp_id zipCodeanonymous_typecountry_idgeo_loc_countrygeo_loc_isp geo_loc_latgeo_loc_lonclub_card_idtypeconfirmedfacebookIddeletedAtdeleted_uniquestatusrecognizedprevious_clientstestProfile apikeyapiKeyApiKeyApikeytrackersnr_sdk_version eventCreateTimecorrelationId
tagsarray<string>optionalTags can be used to group Profile accounts.

Responses

StatusDescription
200 application/jsonProfile authorization token
400 application/jsonRequest failed, see error message for details
401 application/jsonUnauthorized.
403 application/jsonAuthentication failed, see error message for details
404 application/jsonProfile not found
406 application/jsonAccount is locked, password reset required
423 application/jsonDevice control is enabled, device must be authorized (link sent by email)

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/sauth/v2/auth/login/client \
  --header 'content-type: application/json' \
  --data '{"apiKey":"string","identityProvider":"SYNERISE","identityProviderToken":"string","email":"string","customId":null,"password":"string","uuid":"string","deviceId":"string","agreements":{"email":true,"sms":true,"push":true,"bluetooth":false,"rfid":false,"wifi":false},"attributes":{"property1":null,"property2":null},"tags":["string"]}'

POST /sauth/v2/auth/login/client/conditional — Authenticate as Profile (conditional) (deprecated)

/api-reference/authorization#tag/Authorization-(deprecated)/operation/authenticateConditionalUsingPOST

This method is deprecated. Use the v3 method instead.

Obtain a new JWT token for a Profile.

  • If the account does not exist, an account is not created.
  • If any additional conditions are required for logging in, the response is HTTP200 and lists the conditions.
  • Note that using this endpoint requires authenticating as an anonymous Profile first.

Authentication: Not required

Request body

application/json · sauth-AuthenticationRequestV2_and_3

FieldTypeRequiredDescription
apiKeystringrequiredProfile (formerly "Client") API key
identityProviderenum<"SYNERISE", "FACEBOOK", "OAUTH", "APPLE", …>requiredThe identity provider.
identityProviderTokenstringoptionalThird-party authentication token used to authenticate with the Identity Provider. Required if identityProvider is different than SYNERISE.
emailstringoptionalProfile email. Required if identityProvider is SYNERISE and email is the unique identifier (default setting).
customIdoptionalProfile customId. Required if identityProvider is SYNERISE and customId is the unique identifier (see https://hub.synerise.com/docs/settings/configuration/non-unique-emails/).
passwordstringoptionalProfile password. Required if identityProvider is SYNERISE.
uuidstringoptionalProfile UUID. Required if identityProvider is SYNERISE.
deviceIdstringoptionalUnique Android or iOS device ID. We recommend sending this attribute every time, to assign a web push registration to the device. Required when any form of unknown device control is enabled.
agreementsobjectoptionalMarketing agreements of the Profile. You can also pass the values as strings ("true";"TRUE";"True"/"false";"FALSE";"False") or integers (1 for true and 0 for false).
attributesobjectoptionalCustom attributes (with any names) WARNING: Some attributes cannot be sent in this object and will be ignored. Some of these are reserved for system use, and others must be sent as properties of the profile in the root object of the request body instead of inside the attributes object. Click to expand the list of reserved attributes emailidclientIdphonecustomIduuidfirstNamelastName displayNamecompanyaddresscityprovincezipCodecountryCode birthDatesexavatarUrlanonymousagreementstagsbusinessProfileId timeipsourcenewsletter_agreementcustom_identifyfirstname lastnamecreatedupdatedlast_activity_datebirthdateexternal_avatar_url displaynamereceive_smsesreceive_push_messagesreceive_webpush_messages receive_btooth_messagesreceive_rfid_messagesreceive_wifi_messagesreceive_whatsapp_messageswhatsapp_id zipCodeanonymous_typecountry_idgeo_loc_countrygeo_loc_isp geo_loc_latgeo_loc_lonclub_card_idtypeconfirmedfacebookIddeletedAtdeleted_uniquestatusrecognizedprevious_clientstestProfile apikeyapiKeyApiKeyApikeytrackersnr_sdk_version eventCreateTimecorrelationId
tagsarray<string>optionalTags can be used to group Profile accounts.

Responses

StatusDescription
200 application/jsonDetails of the login operation
400 application/jsonRequest failed, see error message for details
401 application/jsonSee error message for details
403 application/jsonAuthentication failed, see error message for details
404 application/jsonProfile not found
406 application/jsonAccount is locked, password reset required
423 application/jsonDevice control is enabled, device must be authorized (link sent by email)

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/sauth/v2/auth/login/client/conditional \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"apiKey":"string","identityProvider":"SYNERISE","identityProviderToken":"string","email":"string","customId":null,"password":"string","uuid":"string","deviceId":"string","agreements":{"email":true,"sms":true,"push":true,"bluetooth":false,"rfid":false,"wifi":false},"attributes":{"property1":null,"property2":null},"tags":["string"]}'

POST /sauth/v2/auth/login/client/anonymous — Authenticate anonymously (deprecated)

/api-reference/authorization#tag/Authorization-(deprecated)/operation/LogInAnonymouslyV2

This method is deprecated. Use the v3 method instead.

Obtain a new JWT for an anonymous Profile. The token can be used and refreshed in the same way as tokens of registered Profiles.


Authentication: Not required

Request body (required)

application/json · sauth-LogInAnonymouslyV2RequestBody

FieldTypeRequiredDescription
apiKeystringoptionalProfile (formerly "Client") API key
deviceIdstringoptionalUnique Android or iOS device ID. We recommend sending this attribute every time, to assign a web push registration to the device. Required when any form of unknown device control is enabled.
uuidstringoptionalUUID of the Profile

Responses

StatusDescription
200 application/jsonAnonymous authorization token
401 application/jsonUnauthorized

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/sauth/v2/auth/login/client/anonymous \
  --header 'content-type: application/json' \
  --data '{"apiKey":"string","deviceId":"string","uuid":"07243772-008a-42e1-ba37-c3807cebde8f"}'

POST /sauth/v2/auth/server/login/client — Authenticate as Profile (deprecated)

/api-reference/authorization#tag/Authorization-(deprecated)/operation/authenticateViaServerV2

This method is deprecated. Use the v3 method instead.

Obtain a new JWT for a Profile. It is designed to be used from backend server. If an account for the Profile does not exist and the identityProvider is different than SYNERISE, this request creates an account.


API consumer: Workspace (Business Profile)

API key permission required: SAUTH_SERVER_LOGIN_CLIENT_CREATE

Request body

application/json · sauth-ServerAuthenticationRequestV2_and_3

FieldTypeRequiredDescription
ipAddressstringrequiredThe IP address of the client device that is logging in.
apiKeystringrequiredProfile (formerly "Client") API key
identityProviderenum<"SYNERISE", "FACEBOOK", "OAUTH", "APPLE", …>requiredThe identity provider.
identityProviderTokenstringoptionalThird-party authentication token used to authenticate with the Identity Provider. Required if identityProvider is different than SYNERISE.
emailstringoptionalProfile email. Required if identityProvider is SYNERISE and email is the unique identifier (default setting).
customIdoptionalProfile customId. Required if identityProvider is SYNERISE and customId is the unique identifier (see https://hub.synerise.com/docs/settings/configuration/non-unique-emails/).
passwordstringoptionalProfile password. Required if identityProvider is SYNERISE.
uuidstringoptionalProfile UUID. Required if identityProvider is SYNERISE.
deviceIdstringoptionalUnique Android or iOS device ID. We recommend sending this attribute every time, to assign a web push registration to the device. Required when any form of unknown device control is enabled.
agreementsobjectoptionalMarketing agreements of the Profile. You can also pass the values as strings ("true";"TRUE";"True"/"false";"FALSE";"False") or integers (1 for true and 0 for false).
attributesobjectoptionalCustom attributes (with any names) WARNING: Some attributes cannot be sent in this object and will be ignored. Some of these are reserved for system use, and others must be sent as properties of the profile in the root object of the request body instead of inside the attributes object. Click to expand the list of reserved attributes emailidclientIdphonecustomIduuidfirstNamelastName displayNamecompanyaddresscityprovincezipCodecountryCode birthDatesexavatarUrlanonymousagreementstagsbusinessProfileId timeipsourcenewsletter_agreementcustom_identifyfirstname lastnamecreatedupdatedlast_activity_datebirthdateexternal_avatar_url displaynamereceive_smsesreceive_push_messagesreceive_webpush_messages receive_btooth_messagesreceive_rfid_messagesreceive_wifi_messagesreceive_whatsapp_messageswhatsapp_id zipCodeanonymous_typecountry_idgeo_loc_countrygeo_loc_isp geo_loc_latgeo_loc_lonclub_card_idtypeconfirmedfacebookIddeletedAtdeleted_uniquestatusrecognizedprevious_clientstestProfile apikeyapiKeyApiKeyApikeytrackersnr_sdk_version eventCreateTimecorrelationId
tagsarray<string>optionalTags can be used to group Profile accounts.

Responses

StatusDescription
200 application/jsonProfile authorization token
400 application/jsonRequest failed, see error message for details
401 application/jsonUnauthorized.
403 application/jsonAuthentication failed, see error message for details
404 application/jsonProfile not found
406 application/jsonAccount is locked, password reset required
423 application/jsonDevice control is enabled, device must be authorized (link sent by email)

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/sauth/v2/auth/server/login/client \
  --header 'content-type: application/json' \
  --data '{"ipAddress":"string","apiKey":"string","identityProvider":"SYNERISE","identityProviderToken":"string","email":"string","customId":null,"password":"string","uuid":"string","deviceId":"string","agreements":{"email":true,"sms":true,"push":true,"bluetooth":false,"rfid":false,"wifi":false},"attributes":{"property1":null,"property2":null},"tags":["string"]}'

Back to all API categories