AI Recommendations (Jan 24, 2025, 10:50:39 AM)

Download OpenAPI specification:Download

Welcome to Synerise API Reference! We hope that you'll enjoy your stay here.

If you need help with our services, feel free to contact us at support@synerise.com.

Authentication

JWT

Synerise uses JSON Web Token (JWT) as the authorization method. The token is generated by the auth/login endpoint. You need to include it in the Authorization header of your requests, with a Bearer prefix. See this simplified example of a call:

curl -X GET https://api.synerise.com/v4/clients \
-H 'Accept: application/json' \
-H 'Api-Version: 4.4' \
-H 'Authorization: Bearer eyJhbGdiOiJSzZXIaLCJjdGQiOjE1NTI0NjMzMjg4NjIsImF1dGgiOiJINHNJQUFBQUFBQUFBSXVPQlFBcHUwd05BZ0FBQUE9PSIsIm5tZSI' \
-H 'Content-Type: application/json'

Remember to include a space between Bearer and the token.

By default, the token is valid for one week (see workspace settings). You can request a refreshed key for the session by using the auth/refresh endpoint before the current token expires.

You can verify your JWT signature by using the public key.

Security Scheme Type HTTP
HTTP Authorization Scheme bearer

TrackerKey

Authorization by tracker key sent in a token query parameter. This may be the same key as used in the tracking code of the website. For details, see this article: https://help.synerise.com/developers/web/installation-and-configuration/#creating-a-tracking-code.

Security Scheme Type API Key
Query parameter name: token

Authorization

Methods to authorize and obtain JWT token required by our API endpoints

Log in as User

Authenticate as a User.

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

  • This method does not require a Synerise authorization token.
Request Body schema: application/json
username
required
string

The login (email address) of the user

password
required
string

The user's password

deviceId
string

Identifier of user's current device

externalProviderToken
string
externalProviderType
string
Value: "GOOGLE"

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "password": "string",
  • "deviceId": "string",
  • "externalProviderToken": "string",
  • "externalProviderType": "GOOGLE"
}

Response samples

Content type
application/json
{
  • "consumer": {
    },
  • "token": "string"
}

Verify User multi-factor authentication

Authenticate as a User with multi-factor authentication.

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


  • API consumer who can use this method: Synerise User

  • This method is available to all authenticated users, before and after multi-factor authentication is confirmed.

Authorizations:
query Parameters
mfaType
required
string
Enum: "TOTP_AUTHENTICATOR" "EMAIL"

Type of multi-factor authentication

Request Body schema: application/json
verificationCode
required
string

Multi-factor verification code

deviceId
string
externalProviderToken
string
externalProviderType
string
Value: "GOOGLE"

Responses

Request samples

Content type
application/json
{
  • "verificationCode": "string",
  • "deviceId": "string",
  • "externalProviderToken": "string",
  • "externalProviderType": "GOOGLE"
}

Response samples

Content type
application/json
{
  • "consumer": {
    },
  • "token": "string"
}

Select Workspace

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


  • API consumer who can use this method: Synerise User

  • This method is available to all fully-authenticated users (multifactor confirmation required, if enabled).

Authorizations:
path Parameters
businessProfileUUID
required
string <uuid>

UUID of the workspace

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "consumer": {
    },
  • "token": "string"
}

Get Workspaces

Retrieve a list of Workspaces available to the user.


  • API consumer who can use this method: Synerise User

  • This method is available to all fully-authenticated users (multifactor confirmation required, if enabled).

Authorizations:

Responses

Request samples

curl --request GET 
  --url https://api.synerise.com/uauth/business-profile/ 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
[
  • {
    }
]

Get current Workspace

Retrieve information about the currently selected workspace.


  • API consumer who can use this method: Synerise User

  • This method is available to all fully-authenticated users (multifactor confirmation required, if enabled).

Authorizations:

Responses

Request samples

curl --request GET 
  --url https://api.synerise.com/uauth/business-profile/current 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "selected": true,
  • "data": {
    }
}

Log in as Workspace

Obtain a new Workspace JWT Token.

  • This method does not require a Synerise authorization token.
Request Body schema: application/json
apiKey
required
string

Workspace 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

Request samples

Content type
application/json
{
  • "apiKey": "64c09614-1b2a-42f7-804d-f647243eb1ab"
}

Response samples

Content type
application/json
{
  • "token": "string"
}

Refresh a Profile token

Retrieve a refreshed JWT Token to prolong the session.

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


  • API consumers who can use this method: Profile (formerly client), Anonymous profile (formerly client)

  • This method does not require a Synerise authorization token.

Authorizations:
Request Body schema: application/json
apiKey
required
string

Profile (formerly "Client") API key

Responses

Request samples

Content type
application/json
{
  • "apiKey": "string"
}

Response samples

Content type
application/json
{
  • "token": "string",
  • "expiration": 1649283173,
  • "created": 1649277173668,
  • "origin": "SYNERISE",
  • "customId": "card123",
  • "realm": "client"
}

Authenticate as Profile

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.

  • This method does not require a Synerise authorization token.
Request Body schema: application/json
apiKey
required
string

Profile (formerly "Client") API key

identityProvider
required
string
Enum: "SYNERISE" "FACEBOOK" "OAUTH" "APPLE" "GOOGLE" "UNKNOWN"

The identity provider.

identityProviderToken
string

Third-party authentication token used to authenticate with the Identity Provider. Required if identityProvider is different than SYNERISE.

email
string

Profile email. Required if identityProvider is SYNERISE and email is the unique identifier (default setting).

customId
any

Profile customId. Required if identityProvider is SYNERISE and customId is the unique identifier (see https://hub.synerise.com/docs/settings/configuration/non-unique-emails/).