Loyalty and Engagement (Nov 5, 2024, 1:06:14 PM)

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 eyJhbGciOiJSzZXIiLCJjdGQiOjE1NTI0NjMzMjg4NjIsImF1dGgiOiJINHNJQUFBQUFBQUFBSXVPQlFBcHUwd05BZ0FBQUE9PSIsIm5tZSI' \
-H 'Content-Type: application/json'

Remember to include a space between Bearer and the token.

The token is valid for one hour (unless configured differently). 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/).

password
string

Profile password. Required if identityProvider is SYNERISE.

uuid
string

Profile UUID. Required if identityProvider is SYNERISE.

deviceId
string

Unique Android or iOS device ID

object

This object contains the marketing agreements of the Profile.

You can also pass the values as strings ("true";"True"/"false";"False") or integers (1 for true and 0 for false).

object

This object contains custom attributes that can have any name (except for reserved attributes, see warning below) and data type, as required by your integration.

The attribute names can't include any characters that match the pattern (ECMA flavor): /[\r\n\u2028\u2029\u00AD\u0000\uFE00-\uFE0F]/

String values:

  • can't include variation selectors ([\uFE00-\uFE0F]), unless there are other characters in the string.
  • can't include the "null" control character (\u0000)

If you want to send a date/time attribute for use in analytics, take the following into account:

  • The date/time should be formatted according to ISO 8601.
  • The time zone of the workspace affects dates/times in the attributes that DON'T have a defined timezone. Example:
    • 2023-10-09T12:00:00 doesn't have a timezone indicator and will be considered as a time in the workspace's time zone.
    • 2023-10-09T12:00:00+02:00 has a timezone indicator (+02:00), so the timezone of the workspace doesn't affect it.
    • 2023-10-09T12:00:00Z is a time in the UTC time zone (denoted by the Z at the end), so the timezone of the workspace doesn't affect it.

WARNING: Some attributes are reserved and cannot be sent. If you send them, they are ignored.

Click to expand the list of reserved attributes email
clientId
phone
customId
uuid
firstName
lastName
displayName
company
address
city
province
zipCode
countryCode
birthDate
sex
avatarUrl
anonymous
agreements
tags
businessProfileId
time
ip
source
newsletter_agreement
custom_identify
firstname
lastname
created
updated
last_activity_date
birthdate
external_avatar_url
displayname
receive_smses
receive_push_messages
receive_webpush_messages
receive_btooth_messages
receive_rfid_messages
receive_wifi_messages
confirmation_hash
ownerId
zipCode
anonymous_type
country_id
geo_loc_city
geo_loc_country
geo_loc_as
geo_loc_country_code
geo_loc_isp
geo_loc_lat
geo_loc_lon
geo_loc_org
geo_loc_query
geo_loc_region
geo_loc_region_name
geo_loc_status
geo_loc_timezone
geo_loc_zip
club_card_id
type
confirmed
facebookId
status
tags
Array of strings

Tags can be used to group profiles.

Tag names (strings):

  • can't include variation selectors ([\uFE00-\uFE0F]), unless there are other characters in the string.
  • can't include the "null" control character (\u0000)

Responses

Request samples

Content type
application/json
{
  • "apiKey": "string",
  • "identityProvider": "SYNERISE",
  • "identityProviderToken": "string",
  • "email": "string",
  • "customId": null,
  • "password": "string",
  • "uuid": "string",
  • "deviceId": "string",
  • "agreements": {
    },
  • "attributes": {
    },
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "token": "eyJhbGciOiJSUzUxMiJ9.eyJzdinvalidwYmZkM2FkNDg2ZjQ3ZGRiMjE5MSIsImF1ZCI6IkFQSSIsInJsbSI6ImFub255bW91c19jbGllbnQiLCJjdGQiOjE1NTMwMDQxNTkxNTEsImVtbCI6IjYyMjM3NmY4LTAwMDAtMjIyMi1kN2Y5LTA3MGZhOTU2ZTk2M0Bhbm9ueW1vdXMuaW52YWxpZCIsImF1dGgiOiJINHNJQUFBQUFBQUFBSXVPQlFBcHUwd05BZ0FBQUE9PSIsImlzcyI6IlN5bmVyaXNlIiwiYnBpIjo0OCwiY2xJZCI6NDMzMjMwMjg4LCJleHAiOjE1NTMwMDcxNTksImFwayI6IjVBRUFBM0Q1LUUxNDctQzdFQi1ENTlFLUJDRjUwMTA5QTNEMSJ9.QOmSqrneR4mJFv4JdxTYsw_wGcDawDsVQuB-GVTcPPwijiP7lQ_Jzqq2Mypg1BS6WFlfGB8fzqCY9iMF_TdtjmoB4xBrY95ylU8L9qto-9Cw5x5TURkfxq31eryiHe2IteRAEtoVzYg2_s9QhlH6ANVcFOVp8dMno0V9bfMYfeSQa3FkjEbxFsseHkMOiADmp9-tOGtLXO942Ir-2W_Hz3Utlpt4erz0dVJBw8a-mFavPA8EEDWR7ACJNocrVHFkS3wFISh3LqLn6KkXiowaynKlJOEHGctuahzKmF3ZOJ1BvGgKohxF9OXvQs9IdmCfWhYsLr5Q2p04TJJ-MyvTipuggKVioh8mHmOFdfnN-Zused6tXzhZtKPUWTmM8cBKoAOBHExxcMQ8SVSjxnw_7_eLKm7S2wNpu0V-tiPZPCH4wYZXtWBYjmfy0V9ydjXnNunXfgxKixLeFNnONUXxEuqPLvM_xAuonQBXVN4nYrgJv8p8U6_ZlGMPjJq1szfcuBZnzI34LSEWx_nSof0XC5Czm8iG_ihG8naivNWS8h-Q-qKMP_3PPFsLSH4Egh03pH93EJUuNAeSO4RGfUX1wzMvrv1nBC1SM660uFMbq-wkplFBbKnHKMYe-qRs1-lZPG5PwPWJJdpGqOUzbnoMOJYmiq06OHHVQyJSkcEHLCk"
}

Authenticate Profile with a server

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 who can use this method: Workspace (formerly Business Profile)

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SAUTH_SERVER_LOGIN_CLIENT_CREATE

Request Body schema: application/json
ipAddress
required
string

The IP address of the client device that is logging in.

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/).

password
string

Profile password. Required if identityProvider is SYNERISE.

uuid
string

Profile UUID. Required if identityProvider is SYNERISE.

deviceId
string

Unique Android or iOS device ID

object

This object contains the marketing agreements of the Profile.

You can also pass the values as strings ("true";"True"/"false";"False") or integers (1 for true and 0 for false).

object

This object contains custom attributes that can have any name (except for reserved attributes, see warning below) and data type, as required by your integration.

The attribute names can't include any characters that match the pattern (ECMA flavor): /[\r\n\u2028\u2029\u00AD\u0000\uFE00-\uFE0F]/

String values:

  • can't include variation selectors ([\uFE00-\uFE0F]), unless there are other characters in the string.
  • can't include the "null" control character (\u0000)

If you want to send a date/time attribute for use in analytics, take the following into account:

  • The date/time should be formatted according to ISO 8601.
  • The time zone of the workspace affects dates/times in the attributes that DON'T have a defined timezone. Example:
    • 2023-10-09T12:00:00 doesn't have a timezone indicator and will be considered as a time in the workspace's time zone.
    • 2023-10-09T12:00:00+02:00 has a timezone indicator (+02:00), so the timezone of the workspace doesn't affect it.
    • 2023-10-09T12:00:00Z is a time in the UTC time zone (denoted by the Z at the end), so the timezone of the workspace doesn't affect it.

WARNING: Some attributes are reserved and cannot be sent. If you send them, they are ignored.

Click to expand the list of reserved attributes email
clientId
phone
customId
uuid
firstName
lastName
displayName
company
address
city
province
zipCode
countryCode
birthDate
sex
avatarUrl
anonymous
agreements
tags
businessProfileId
time
ip
source
newsletter_agreement
custom_identify
firstname
lastname
created
updated
last_activity_date
birthdate
external_avatar_url
displayname
receive_smses
receive_push_messages
receive_webpush_messages
receive_btooth_messages
receive_rfid_messages
receive_wifi_messages
confirmation_hash
ownerId
zipCode
anonymous_type
country_id
geo_loc_city
geo_loc_country
geo_loc_as
geo_loc_country_code
geo_loc_isp
geo_loc_lat
geo_loc_lon
geo_loc_org
geo_loc_query
geo_loc_region
geo_loc_region_name
geo_loc_status
geo_loc_timezone
geo_loc_zip
club_card_id
type
confirmed
facebookId
status
tags
Array of strings

Tags can be used to group profiles.

Tag names (strings):

  • can't include variation selectors ([\uFE00-\uFE0F]), unless there are other characters in the string.
  • can't include the "null" control character (\u0000)

Responses

Request samples

Content type
application/json
{
  • "ipAddress": "string",
  • "apiKey": "string",
  • "identityProvider": "SYNERISE",
  • "identityProviderToken": "string",
  • "email": "string",
  • "customId": null,
  • "password": "string",
  • "uuid": "string",
  • "deviceId": "string",
  • "agreements": {
    },
  • "attributes": {
    },
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "token": "eyJhbGciOiJSUzUxMiJ9.eyJzdinvalidwYmZkM2FkNDg2ZjQ3ZGRiMjE5MSIsImF1ZCI6IkFQSSIsInJsbSI6ImFub255bW91c19jbGllbnQiLCJjdGQiOjE1NTMwMDQxNTkxNTEsImVtbCI6IjYyMjM3NmY4LTAwMDAtMjIyMi1kN2Y5LTA3MGZhOTU2ZTk2M0Bhbm9ueW1vdXMuaW52YWxpZCIsImF1dGgiOiJINHNJQUFBQUFBQUFBSXVPQlFBcHUwd05BZ0FBQUE9PSIsImlzcyI6IlN5bmVyaXNlIiwiYnBpIjo0OCwiY2xJZCI6NDMzMjMwMjg4LCJleHAiOjE1NTMwMDcxNTksImFwayI6IjVBRUFBM0Q1LUUxNDctQzdFQi1ENTlFLUJDRjUwMTA5QTNEMSJ9.QOmSqrneR4mJFv4JdxTYsw_wGcDawDsVQuB-GVTcPPwijiP7lQ_Jzqq2Mypg1BS6WFlfGB8fzqCY9iMF_TdtjmoB4xBrY95ylU8L9qto-9Cw5x5TURkfxq31eryiHe2IteRAEtoVzYg2_s9QhlH6ANVcFOVp8dMno0V9bfMYfeSQa3FkjEbxFsseHkMOiADmp9-tOGtLXO942Ir-2W_Hz3Utlpt4erz0dVJBw8a-mFavPA8EEDWR7ACJNocrVHFkS3wFISh3LqLn6KkXiowaynKlJOEHGctuahzKmF3ZOJ1BvGgKohxF9OXvQs9IdmCfWhYsLr5Q2p04TJJ-MyvTipuggKVioh8mHmOFdfnN-Zused6tXzhZtKPUWTmM8cBKoAOBHExxcMQ8SVSjxnw_7_eLKm7S2wNpu0V-tiPZPCH4wYZXtWBYjmfy0V9ydjXnNunXfgxKixLeFNnONUXxEuqPLvM_xAuonQBXVN4nYrgJv8p8U6_ZlGMPjJq1szfcuBZnzI34LSEWx_nSof0XC5Czm8iG_ihG8naivNWS8h-Q-qKMP_3PPFsLSH4Egh03pH93EJUuNAeSO4RGfUX1wzMvrv1nBC1SM660uFMbq-wkplFBbKnHKMYe-qRs1-lZPG5PwPWJJdpGqOUzbnoMOJYmiq06OHHVQyJSkcEHLCk"
}

Authenticate as Profile (conditional)

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.

  • This method does not require a Synerise authorization token.

Authorizations:
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/).

password
string

Profile password. Required if identityProvider is SYNERISE.

uuid
string

Profile UUID. Required if identityProvider is SYNERISE.

deviceId
string

Unique Android or iOS device ID

object

This object contains the marketing agreements of the Profile.

You can also pass the values as strings ("true";"True"/"false";"False") or integers (1 for true and 0 for false).

object

This object contains custom attributes that can have any name (except for reserved attributes, see warning below) and data type, as required by your integration.

The attribute names can't include any characters that match the pattern (ECMA flavor): /[\r\n\u2028\u2029\u00AD\u0000\uFE00-\uFE0F]/

String values:

  • can't include variation selectors ([\uFE00-\uFE0F]), unless there are other characters in the string.
  • can't include the "null" control character (\u0000)

If you want to send a date/time attribute for use in analytics, take the following into account:

  • The date/time should be formatted according to ISO 8601.
  • The time zone of the workspace affects dates/times in the attributes that DON'T have a defined timezone. Example:
    • 2023-10-09T12:00:00 doesn't have a timezone indicator and will be considered as a time in the workspace's time zone.
    • 2023-10-09T12:00:00+02:00 has a timezone indicator (+02:00), so the timezone of the workspace doesn't affect it.
    • 2023-10-09T12:00:00Z is a time in the UTC time zone (denoted by the Z at the end), so the timezone of the workspace doesn't affect it.

WARNING: Some attributes are reserved and cannot be sent. If you send them, they are ignored.

Click to expand the list of reserved attributes email
clientId
phone
customId
uuid
firstName
lastName
displayName
company
address
city
province
zipCode
countryCode
birthDate
sex
avatarUrl
anonymous
agreements
tags
businessProfileId
time
ip
source
newsletter_agreement
custom_identify
firstname
lastname
created
updated
last_activity_date
birthdate
external_avatar_url
displayname
receive_smses
receive_push_messages
receive_webpush_messages
receive_btooth_messages
receive_rfid_messages
receive_wifi_messages
confirmation_hash
ownerId
zipCode
anonymous_type
country_id
geo_loc_city
geo_loc_country
geo_loc_as
geo_loc_country_code
geo_loc_isp
geo_loc_lat
geo_loc_lon
geo_loc_org
geo_loc_query
geo_loc_region
geo_loc_region_name
geo_loc_status
geo_loc_timezone
geo_loc_zip
club_card_id
type
confirmed
facebookId
status
tags
Array of strings

Tags can be used to group profiles.

Tag names (strings):

  • can't include variation selectors ([\uFE00-\uFE0F]), unless there are other characters in the string.
  • can't include the "null" control character (\u0000)

Responses

Request samples

Content type
application/json
{
  • "apiKey": "string",
  • "identityProvider": "SYNERISE",
  • "identityProviderToken": "string",
  • "email": "string",
  • "customId": null,
  • "password": "string",
  • "uuid": "string",
  • "deviceId": "string",
  • "agreements": {
    },
  • "attributes": {
    },
  • "tags": [
    ]
}

Response samples

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

Authenticate anonymously

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

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

Profile (formerly "Client") API key

uuid
required
string

UUID of the Profile. It is a unique identifier.

The value can't include any characters that match the pattern (ECMA flavor): /([\uD800-\uDBFF][\uDC00-\uDFFF])|([\r\n\u2028\u2029\u00AD]|[\uFE00-\uFE0F]|[\u0000])/

deviceId
string

Unique iOS or Android device identifier.

Responses

Request samples

Content type
application/json
{
  • "apiKey": "string",
  • "uuid": "07243772-008a-42e1-ba37-c3807cebde8f",
  • "deviceId": "string"
}

Response samples

Content type
application/json
{
  • "token": "eyJhbGciOiJSUzUxMiJ9.eyJzdinvalidwYmZkM2FkNDg2ZjQ3ZGRiMjE5MSIsImF1ZCI6IkFQSSIsInJsbSI6ImFub255bW91c19jbGllbnQiLCJjdGQiOjE1NTMwMDQxNTkxNTEsImVtbCI6IjYyMjM3NmY4LTAwMDAtMjIyMi1kN2Y5LTA3MGZhOTU2ZTk2M0Bhbm9ueW1vdXMuaW52YWxpZCIsImF1dGgiOiJINHNJQUFBQUFBQUFBSXVPQlFBcHUwd05BZ0FBQUE9PSIsImlzcyI6IlN5bmVyaXNlIiwiYnBpIjo0OCwiY2xJZCI6NDMzMjMwMjg4LCJleHAiOjE1NTMwMDcxNTksImFwayI6IjVBRUFBM0Q1LUUxNDctQzdFQi1ENTlFLUJDRjUwMTA5QTNEMSJ9.QOmSqrneR4mJFv4JdxTYsw_wGcDawDsVQuB-GVTcPPwijiP7lQ_Jzqq2Mypg1BS6WFlfGB8fzqCY9iMF_TdtjmoB4xBrY95ylU8L9qto-9Cw5x5TURkfxq31eryiHe2IteRAEtoVzYg2_s9QhlH6ANVcFOVp8dMno0V9bfMYfeSQa3FkjEbxFsseHkMOiADmp9-tOGtLXO942Ir-2W_Hz3Utlpt4erz0dVJBw8a-mFavPA8EEDWR7ACJNocrVHFkS3wFISh3LqLn6KkXiowaynKlJOEHGctuahzKmF3ZOJ1BvGgKohxF9OXvQs9IdmCfWhYsLr5Q2p04TJJ-MyvTipuggKVioh8mHmOFdfnN-Zused6tXzhZtKPUWTmM8cBKoAOBHExxcMQ8SVSjxnw_7_eLKm7S2wNpu0V-tiPZPCH4wYZXtWBYjmfy0V9ydjXnNunXfgxKixLeFNnONUXxEuqPLvM_xAuonQBXVN4nYrgJv8p8U6_ZlGMPjJq1szfcuBZnzI34LSEWx_nSof0XC5Czm8iG_ihG8naivNWS8h-Q-qKMP_3PPFsLSH4Egh03pH93EJUuNAeSO4RGfUX1wzMvrv1nBC1SM660uFMbq-wkplFBbKnHKMYe-qRs1-lZPG5PwPWJJdpGqOUzbnoMOJYmiq06OHHVQyJSkcEHLCk"
}

Promotions

Manage and make use of promotions within your Applications

Get a Profile's promotions as Profile

A Profile can retrieve a list of all its promotions, assigned or activated. By default, only non-expired promotions are retrieved.

IMPORTANT:

  • As a result of this request, the targetSegments of all the matching promotions are checked. If this results in checking more than 30 unique segments, any segments above this limit may be ignored.
  • The endpoint is limited to 25000 requests per minute (per workspace).

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

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_LIST_PROMOTIONS_READ

Authorizations:
query Parameters
sort
string
Example: sort=requireRedeemedPoints,desc

The sorting order of the response.

You can sort by any combination of the following attributes:

  • headerName: promotion header name
  • name: promotion name
  • code: promotion code
  • startAt: time when the promotion starts
  • createdAt: time when the promotion was created
  • updatedAt: time when the promotion was last updated
  • expireAt: time when the promotion expires
  • requireRedeemedPoints: how many loyalty points are needed to redeem the promotion
  • type: type of the promotion
  • priority: priority of the promotion
  • status : status of the promotion for the Profile

Additionally, you can add the following attributes:

  • ai : enables ai sorting, should be only combined with status sorting (direction of sorting is not needed)

You can sort ascending (default) or descending by adding asc or desc after the parameter, separated by a comma.

Example: sort=requireRedeemedPoints&sort=expireAt,asc&sort=status,desc

status
Array of strings
Items Enum: "ACTIVE" "ASSIGNED" "REDEEMED"

Filter by promotion status

presentOnly
boolean
Default: true
Example: presentOnly=true

When set to:

  • true, the response includes only promotions that are currently active (startAt later than now or null, expireAt later than now or null)
  • false, the response includes the above and also promotions that are expired or will become active in the future.
displayableOnly
boolean
Default: false
Example: displayableOnly=true

When set to true, promotions which are not currently active are included in response, according to date range defined in promotion fields displayFrom and displayTo.

tagNames
Array of strings

Filter the response to promotions with a certain tag or tags

limit
integer <= 1000
Default: 100
Example: limit=100

The number of items to return per page

page
integer <int32>
Default: 1
Example: page=4

Page number to return for pagination. The first page has the index 1.

includeMeta
boolean
Default: false
Example: includeMeta=false

When true, pagination metadata is included in the response body.

When false, the data is included in the response headers:

  • Link: links to neighbors, first, and last pages in pagination.

  • X-Pagination-Total-Count: total number of items on all pages

  • X-Pagination-Total-Pages: total number of pages

  • X-Pagination-Page: current page

  • X-Pagination-Limit: maximum number of items on a page

Responses

Request samples

curl --request GET 
  --url 'https://api.synerise.com/v4/promotions/promotion/get-for-client?sort=requireRedeemedPoints%2Cdesc&status=SOME_ARRAY_VALUE&presentOnly=true&displayableOnly=true&tagNames=SOME_ARRAY_VALUE&limit=100&page=4&includeMeta=false' 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Duplicate existing promotion

You can duplicate an existing promotion.


  • API consumers who can use this method: Synerise User, Workspace (formerly Business Profile)

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_DUPLICATE_PROMOTIONS_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PROMOTIONS

Request Body schema: application/json

Provide only one of the parameters.

uuid
string

Promotion UUID

code
string

Promotion code

Responses

Request samples

Content type
application/json
{
  • "uuid": "string",
  • "code": "string"
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "code": "string",
  • "status": "DRAFT",
  • "type": "MEMBERS_ONLY",
  • "redeemLimitPerClient": 0,
  • "redeemQuantityPerActivation": 8388607,
  • "redeemLimitGlobal": 0,
  • "redeemType": "FULL",
  • "discountType": "PERCENT",
  • "details": {
    },
  • "discountValue": 0,
  • "discountMode": "STATIC",
  • "discountModeDetails": {
    },
  • "preDiscountValue": 0,
  • "requireRedeemedPoints": 0,
  • "headerName": "string",
  • "headerDescription": "string",
  • "name": "string",
  • "headline": "string",
  • "description": "string",
  • "tags": [
    ],
  • "createdAt": "2019-08-24T14:15:22Z",
  • "startAt": "2019-08-24T14:15:22Z",
  • "expireAt": "2019-08-24T14:15:22Z",
  • "displayFrom": "string",
  • "displayTo": "string",
  • "lastingTime": 0,
  • "params": { },
  • "itemScope": "LINE_ITEM",
  • "minBasketValue": 0,
  • "maxBasketValue": 0,
  • "catalog": "221",
  • "catalogItemType": "FILTERED",
  • "catalogIndexItems": [ ],
  • "catalogFilterIds": [
    ],
  • "storeCatalog": "string",
  • "storeItemType": "ALL",
  • "storeIds": [
    ],
  • "targetType": "ALL",
  • "targetSegment": [
    ],
  • "price": 0,
  • "priority": 250,
  • "metric": "string",
  • "importHash": "ced8a4ad-6d6e-48ca-a663-3fb07e6216a9"
}

Activate a promotion

A Profile can change the status of a promotion from assigned to active, the promotion can now be applied to a purchase.


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

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_ACTIVATE_PROMOTIONS_UPDATE

Authorizations:
Request Body schema: application/json
key
required
string
Enum: "uuid" "code"

Type of promotion identifier

value
required
string

Value of the selected identifier

Responses

Request samples

Content type
application/json
{
  • "key": "code",
  • "value": "7893467834GG"
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "code": "string",
  • "status": "ASSIGNED",
  • "type": "MEMBERS_ONLY",
  • "redeemLimitPerClient": 0,
  • "redeemQuantityPerActivation": 8388607,
  • "currentRedeemedQuantity": 0,
  • "currentRedeemedLimit": 0,
  • "activationCounter": 0,
  • "possibleRedeems": 0,
  • "details": {
    },
  • "discountType": "PERCENT",
  • "discountValue": 0,
  • "discountMode": "STATIC",
  • "discountModeDetails": {
    },
  • "requireRedeemedPoints": 0,
  • "name": "string",
  • "headline": "string",
  • "description": "string",
  • "tags": [
    ],
  • "startAt": "2019-08-24T14:15:22Z",
  • "expireAt": "2019-08-24T14:15:22Z",
  • "displayFrom": "string",
  • "displayTo": "string",
  • "assignedAt": "2019-08-24T14:15:22Z",
  • "lastingTime": 0,
  • "lastingAt": "2019-08-24T14:15:22Z",
  • "params": { },
  • "catalogIndexItems": [ ],
  • "price": 0,
  • "priority": 250,
  • "itemScope": "LINE_ITEM",
  • "minBasketValue": 0,
  • "maxBasketValue": 0
}

Batch activate promotions

A Profile can change the status of a number of promotions from assigned to active, the promotion can now be applied to a purchase.


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

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_ACTIVATE_PROMOTIONS_UPDATE

Authorizations:
Request Body schema: application/json
Array
key
required
string
Enum: "uuid" "code"

Type of promotion identifier

value
required
string

Value of the selected identifier

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{ }

Deactivate a promotion

A Profile can change the status of an activated promotion back to assigned.


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

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_DEACTIVATE_PROMOTIONS_UPDATE

Authorizations:
Request Body schema: application/json
key
required
string
Enum: "uuid" "code"

Type of promotion identifier

value
required
string

Value of the selected identifier

Responses

Request samples

Content type
application/json
{
  • "key": "code",
  • "value": "7893467834GG"
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "code": "string",
  • "status": "ASSIGNED",
  • "type": "MEMBERS_ONLY",
  • "redeemLimitPerClient": 0,
  • "redeemQuantityPerActivation": 8388607,
  • "currentRedeemedQuantity": 0,
  • "currentRedeemedLimit": 0,
  • "activationCounter": 0,
  • "possibleRedeems": 0,
  • "details": {
    },
  • "discountType": "PERCENT",
  • "discountValue": 0,
  • "discountMode": "STATIC",
  • "discountModeDetails": {
    },
  • "requireRedeemedPoints": 0,
  • "name": "string",
  • "headline": "string",
  • "description": "string",
  • "tags": [
    ],
  • "startAt": "2019-08-24T14:15:22Z",
  • "expireAt": "2019-08-24T14:15:22Z",
  • "displayFrom": "string",
  • "displayTo": "string",
  • "assignedAt": "2019-08-24T14:15:22Z",
  • "lastingTime": 0,
  • "lastingAt": "2019-08-24T14:15:22Z",
  • "params": { },
  • "catalogIndexItems": [ ],
  • "price": 0,
  • "priority": 250,
  • "itemScope": "LINE_ITEM",
  • "minBasketValue": 0,
  • "maxBasketValue": 0
}

Batch deactivate promotions

A Profile can change the status of a number of activated promotions back to assigned.


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

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_DEACTIVATE_PROMOTIONS_UPDATE

Authorizations:
Request Body schema: application/json
Array
key
required
string
Enum: "uuid" "code"

Type of promotion identifier

value
required
string

Value of the selected identifier

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{ }

Deactivate all promotions for a Profile as Workspace

You can deactivate all promotions assigned to a Profile.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_DEACTIVATE_PROMOTIONS_UPDATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PROMOTIONS

path Parameters
identifierType
required
string
Enum: "email" "phone" "externalId" "uuid" "clientId"
Example: email

The Profile identifier to use for the request

identifierValue
required
string

The value of the selected identifier

query Parameters
returnCodes
boolean
Default: false
Example: returnCodes=true

Return deactivated codes

lockPoints
boolean
Default: true
Example: lockPoints=true

Lock profile points during the deactivation process

excludeTags
Array of strings

Promotions with the tags included in this list will not be deactivated

Responses

Request samples

curl --request POST 
  --url 'https://api.synerise.com/v4/promotions/promotion/deactivate-all-for-client/%7BidentifierType%7D/%7BidentifierValue%7D?returnCodes=true&lockPoints=true&excludeTags=SOME_ARRAY_VALUE'

Response samples

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

Redeem a promotion

You can redeem a promotion and loyalty points.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_REDEEM_PROMOTIONS_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PROMOTIONS

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

Promotion code

clientKey
required
string
Enum: "externalId" "clientId" "email" "phone" "uuid"

Type of profile identifier

clientKeyValue
required
string

Value of the selected identifier

quantity
integer
Default: 1

Quantity of redeemed items

sourceId
string

The source of redemption. It should be unique for the source of promotion to ensure that redemptions are successfully deduplicated when retried. Example: a concatenation of receipt ID and index of the discounted transaction line on the receipt.

orderId
string

Receipt ID for which the promotion was redeemed. It's required when using step promotions. The order ID will be used to check if requirements of granting a step promotion are fulfilled.

lockIdentifier
string

Identifier of the "promotion requested" lock which will be released when the promotion is redeemed. This kind of lock blocks a profile from requesting new promotions and can be applied when using the Get Profile promotions by a custom filter endpoint.

Responses

Request samples

Content type
application/json
{
  • "code": "75d9090f-06ac-46a2-a0ce-4b8eb287efb9",
  • "clientKey": "clientId",
  • "clientKeyValue": "434428563"
}

Response samples

Content type
application/json
{
  • "message": "Promotion redeemed successfully"
}

Batch redeem promotions

You can redeem up to 100 promotions and loyalty points relevant to them.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_BATCH_REDEEM_PROMOTIONS_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PROMOTIONS

Authorizations:
Request Body schema: application/json
Array
code
required
string

Promotion code

clientKey
required
string
Enum: "externalId" "clientId" "email" "phone" "uuid"

Type of profile identifier

clientKeyValue
required
string

Value of the selected identifier

quantity
integer
Default: 1

Quantity of redeemed items

sourceId
string

The source of redemption. It should be unique for the source of promotion to ensure that redemptions are successfully deduplicated when retried. Example: a concatenation of receipt ID and index of the discounted transaction line on the receipt.

orderId
string

Receipt ID for which the promotion was redeemed. It's required when using step promotions. The order ID will be used to check if requirements of granting a step promotion are fulfilled.

lockIdentifier
string

Identifier of the "promotion requested" lock which will be released when the promotion is redeemed. This kind of lock blocks a profile from requesting new promotions and can be applied when using the Get Profile promotions by a custom filter endpoint.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "message": "Promotion redeemed successfully"
}

Get a Profile's promotions as Workspace (v2)

A Workspace can retrieve a list of a profile's promotions. By default, only non-expired promotions are retrieved.

IMPORTANT:

  • As a result of this request, the targetSegments of all the matching promotions are checked. If this results in checking more than 30 unique segments, any segments above this limit may be ignored.
  • The endpoint is limited to 25000 requests per minute (per workspace).

  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_LIST_PROMOTIONS_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PROMOTIONS

Authorizations:
path Parameters
identifierType
required
string
Enum: "email" "phone" "externalId" "uuid" "clientId"
Example: email

The Profile identifier to use for the request

identifierValue
required
string

The value of the selected identifier

query Parameters
sort
string
Example: sort=requireRedeemedPoints,desc

The sorting order of the response.

You can sort by any combination of the following attributes:

  • headerName: promotion header name
  • name: promotion name
  • code: promotion code
  • startAt: time when the promotion starts
  • createdAt: time when the promotion was created
  • updatedAt: time when the promotion was last updated
  • expireAt: time when the promotion expires
  • requireRedeemedPoints: how many loyalty points are needed to redeem the promotion
  • type: type of the promotion
  • priority: priority of the promotion
  • status : status of the promotion for the Profile

Additionally, you can add the following attributes:

  • ai : enables ai sorting, should be only combined with status sorting (direction of sorting is not needed)

You can sort ascending (default) or descending by adding asc or desc after the parameter, separated by a comma.

Example: sort=requireRedeemedPoints&sort=expireAt,asc&sort=status,desc

status
Array of strings
Items Enum: "ACTIVE" "ASSIGNED" "REDEEMED"

Filter by promotion status

presentOnly
boolean
Default: true
Example: presentOnly=true

When set to:

  • true, the response includes only promotions that are currently active (startAt later than now or null, expireAt later than now or null)
  • false, the response includes the above and also promotions that are expired or will become active in the future.
displayableOnly
boolean
Default: false
Example: displayableOnly=true

When set to true, promotions which are not currently active are included in response, according to date range defined in promotion fields displayFrom and displayTo.

tagNames
Array of strings

Filter the response to promotions with a certain tag or tags

limit
integer <= 1000
Default: 100
Example: limit=100

The number of items to return per page

page
integer <int32>
Default: 1
Example: page=4

Page number to return for pagination. The first page has the index 1.

includeMeta
boolean
Default: false
Example: includeMeta=false

When true, pagination metadata is included in the response body.

When false, the data is included in the response headers:

  • Link: links to neighbors, first, and last pages in pagination.

  • X-Pagination-Total-Count: total number of items on all pages

  • X-Pagination-Total-Pages: total number of pages

  • X-Pagination-Page: current page

  • X-Pagination-Limit: maximum number of items on a page

fields
Array of strings
Items Enum: "uuid" "code" "status" "type" "redeemLimitPerClient" "redeemQuantityPerActivation" "currentRedeemedQuantity" "currentRedeemLimit" "activationCounter" "possibleRedeems" "details" "discountType" "discountValue" "discountMode" "discountModeDetails" "requireRedeemedPoints" "name" "headline" "description" "images" "startAt" "expireAt" "displayFrom" "displayTo" "assignedAt" "lastingTime" "lastingAt" "catalogIndexItems" "params" "price" "priority" "maxBasketValue" "minBasketValue" "itemScope" "tags" "handbillUuid"
Example: fields=uuid,requireRedeemedPoints,requireRedeemedPoints,possibleRedeems,status,currentRedeemedQuantity,lastingAt

Return only specified promotion fields. If fields is not specified, all fields are returned.

promotionUuids
string
Example: promotionUuids=fc1ee5bf-ad97-47a8-a474-e1b6e755ff38,aabaed4e-4ee7-44d5-b079-445a017ec6fe

Filters the response data by a list of promotion UUIDs.

Responses

Request samples

curl --request GET 
  --url 'https://api.synerise.com/v4/promotions/v2/promotion/get-for-client/%7BidentifierType%7D/%7BidentifierValue%7D?sort=requireRedeemedPoints%2Cdesc&status=SOME_ARRAY_VALUE&presentOnly=true&displayableOnly=true&tagNames=SOME_ARRAY_VALUE&limit=100&page=4&includeMeta=false&fields=uuid%2CrequireRedeemedPoints%2CrequireRedeemedPoints%2CpossibleRedeems%2Cstatus%2CcurrentRedeemedQuantity%2ClastingAt&promotionUuids=fc1ee5bf-ad97-47a8-a474-e1b6e755ff38%2Caabaed4e-4ee7-44d5-b079-445a017ec6fe' 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

View promotion details as Profile

A Profile can view all the details of an assigned or activated promotion.


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

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_DETAILS_FOR_CLIENT_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PROMOTIONS

Authorizations:
path Parameters
identifierType
required
string
Enum: "uuid" "code"

The promotion identifier to use for the request

identifierValue
required
string

The value of the selected identifier

Responses

Request samples

curl --request GET 
  --url https://api.synerise.com/v4/promotions/promotion/get-item-for-client/%7BidentifierType%7D/%7BidentifierValue%7D 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "data": {
    }
}

View promotion details as Profile

A Profile can view all the details of an assigned or activated promotion.


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

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_DETAILS_FOR_CLIENT_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PROMOTIONS

Authorizations:
path Parameters
identifierType
required
string
Enum: "uuid" "code"

The promotion identifier to use for the request

identifierValue
required
string

The value of the selected identifier

Responses

Request samples

curl --request GET 
  --url https://api.synerise.com/v4/promotions/promotion/get-item-for-client-no-data/%7BidentifierType%7D/%7BidentifierValue%7D 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "data": {
    }
}

View Workspace promotions

You can retrieve a list of all promotions defined in your Workspaces. It includes configured promotions, ready to be used or already in use.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_LIST_PROMOTIONS_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PROMOTIONS

Authorizations:
query Parameters
limit
integer <= 1000
Default: 100
Example: limit=100

The number of items to return per page

page
integer <int32>
Default: 1
Example: page=4

Page number to return for pagination. The first page has the index 1.

storeCatalog
string

Limits the response to data from stores included in a catalog.

storeIds
string

Limits the response to data from particular stores, identified by IDs.

includeMeta
boolean
Default: false
Example: includeMeta=false

When true, pagination metadata is included in the response body.

When false, the data is included in the response headers:

  • Link: links to neighbors, first, and last pages in pagination.

  • X-Pagination-Total-Count: total number of items on all pages

  • X-Pagination-Total-Pages: total number of pages

  • X-Pagination-Page: current page

  • X-Pagination-Limit: maximum number of items on a page

orderFieldName
string
Default: "createdAt"
Enum: "createdAt" "headerName" "code" "startAt" "expireAt" "name" "type"

Name of the parameter used for sorting

order
string
Default: "asc"
Enum: "asc" "desc"

Sorting order

query
string

A string to search for in the headerName parameter or fragment of UUID.

promotionUuids
string
Example: promotionUuids=fc1ee5bf-ad97-47a8-a474-e1b6e755ff38,aabaed4e-4ee7-44d5-b079-445a017ec6fe

Filters the response data by a list of promotion UUIDs.

targetByType
string
Example: targetByType=[SEGMENT]=ACTIVE

A combination of target and type, for example [SEGMENT]=ACTIVE

Responses

Request samples

curl --request GET 
  --url 'https://api.synerise.com/v4/promotions/promotion/list?limit=100&page=4&storeCatalog=SOME_STRING_VALUE&storeIds=SOME_STRING_VALUE&includeMeta=false&orderFieldName=SOME_STRING_VALUE&order=SOME_STRING_VALUE&query=SOME_STRING_VALUE&promotionUuids=fc1ee5bf-ad97-47a8-a474-e1b6e755ff38%2Caabaed4e-4ee7-44d5-b079-445a017ec6fe&targetByType=%5BSEGMENT%5D%3DACTIVE' 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

View recently updated promotions

You can retrieve a list of promotions that were updated. You can filter, sort, and paginate the results.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_DIFF_LIST_PROMOTIONS_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PROMOTIONS

Authorizations:
query Parameters
limit
integer <= 1000
Default: 100
Example: limit=100

The number of items to return per page

page
integer <int32>
Default: 1
Example: page=4

Page number to return for pagination. The first page has the index 1.

storeCatalog
string

Limits the response to data from stores included in a catalog.

storeIds
string

Limits the response to data from particular stores, identified by IDs.

target
Array of strings
Items Enum: "ALL" "SEGMENT"

The target of the promotion

includeMeta
boolean
Default: false
Example: includeMeta=false

When true, pagination metadata is included in the response body.

When false, the data is included in the response headers:

  • Link: links to neighbors, first, and last pages in pagination.

  • X-Pagination-Total-Count: total number of items on all pages

  • X-Pagination-Total-Pages: total number of pages

  • X-Pagination-Page: current page

  • X-Pagination-Limit: maximum number of items on a page

presentOnly
boolean
Default: true
Example: presentOnly=true

When set to:

  • true, the response includes only promotions that are currently active (startAt later than now or null, expireAt later than now or null)
  • false, the response includes the above and also promotions that are expired or will become active in the future.
visibilityStatus
Array of strings
Items Enum: "DRAFT" "PUBLISH" "HIDDEN"

Visibility status

upsertTimestamp
string <date-time>

Defines the date since which the differences are shown. If not defined, defaults to infinity.

orderFieldName
string
Default: "createdAt"
Enum: "createdAt" "headerName" "code" "startAt" "expireAt" "name" "type"

Name of the parameter used for sorting

order
string
Default: "asc"
Enum: "asc" "desc"

Sorting order

query
string

A string to search for in the headerName parameter or fragment of UUID.

Responses

Request samples

curl --request GET 
  --url 'https://api.synerise.com/v4/promotions/promotion/diff-list?limit=100&page=4&storeCatalog=SOME_STRING_VALUE&storeIds=SOME_STRING_VALUE&target=SOME_ARRAY_VALUE&includeMeta=false&presentOnly=true&visibilityStatus=SOME_ARRAY_VALUE&upsertTimestamp=SOME_STRING_VALUE&orderFieldName=SOME_STRING_VALUE&order=SOME_STRING_VALUE&query=SOME_STRING_VALUE' 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Get a Profile's promotions as Workspace

A Workspace can retrieve a list of all promotions assigned to a Profile.

IMPORTANT:

  • As a result of this request, the targetSegments of all the matching promotions are checked. If this results in checking more than 30 unique segments, any segments above this limit may be ignored.
  • The endpoint does not support redemption limits per client for Multi-buy promotions (promotions with redeemQuantityPerActivation greater than 1). For redemption limits, please use /v2/promotion/get-for-client/{identifierType}/{identifierValue}.
  • The endpoint is limited to 25000 requests per minute (per workspace).

  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_LIST_PROMOTIONS_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PROMOTIONS

Authorizations:
path Parameters
identifierType
required
string
Enum: "email" "phone" "externalId" "uuid" "clientId"
Example: email

The Profile identifier to use for the request

identifierValue
required
string

The value of the selected identifier

query Parameters
sort
string
Example: sort=requireRedeemedPoints,desc

The sorting order of the response.

You can sort by any combination of the following attributes:

  • headerName: promotion header name
  • name: promotion name
  • code: promotion code
  • startAt: time when the promotion starts
  • createdAt: time when the promotion was created
  • updatedAt: time when the promotion was last updated
  • expireAt: time when the promotion expires
  • requireRedeemedPoints: how many loyalty points are needed to redeem the promotion
  • type: type of the promotion
  • priority: priority of the promotion
  • status : status of the promotion for the Profile

Additionally, you can add the following attributes:

  • ai : enables ai sorting, should be only combined with status sorting (direction of sorting is not needed)

You can sort ascending (default) or descending by adding asc or desc after the parameter, separated by a comma.

Example: sort=requireRedeemedPoints&sort=expireAt,asc&sort=status,desc

status
Array of strings
Items Enum: "ACTIVE" "ASSIGNED" "REDEEMED"

Filter by promotion status. If not provided, defaults to ACTIVE. If status is not provided and no promotions are active, the response is an empty array.

tagNames
Array of strings

Filter the response to promotions with a certain tag or tags

target
Array of strings
Items Enum: "ALL" "SEGMENT"

The target of the promotion

type
Array of strings
Items Enum: "GENERAL" "CUSTOM" "MEMBERS_ONLY"

Promotion type

presentOnly
boolean
Default: true
Example: presentOnly=true

When set to:

  • true, the response includes only promotions that are currently active (startAt later than now or null, expireAt later than now or null)
  • false, the response includes the above and also promotions that are expired or will become active in the future.
lastingOnly
boolean
Default: true
Example: lastingOnly=true

When set to true, shows promotions that are currently active and those that are still inactivated.

displayableOnly
boolean
Default: false
Example: displayableOnly=true

When set to true, promotions which are not currently active are included in response, according to date range defined in promotion fields displayFrom and displayTo.

limit
integer <= 1000
Default: 100
Example: limit=100

The number of items to return per page

page
integer <int32>
Default: 1
Example: page=4

Page number to return for pagination. The first page has the index 1.

includeMeta
boolean
Default: false
Example: includeMeta=false

When true, pagination metadata is included in the response body.

When false, the data is included in the response headers:

  • Link: links to neighbors, first, and last pages in pagination.

  • X-Pagination-Total-Count: total number of items on all pages

  • X-Pagination-Total-Pages: total number of pages

  • X-Pagination-Page: current page

  • X-Pagination-Limit: maximum number of items on a page

Responses

Request samples

curl --request GET 
  --url 'https://api.synerise.com/v4/promotions/promotion/get-for-client/%7BidentifierType%7D/%7BidentifierValue%7D?sort=requireRedeemedPoints%2Cdesc&status=SOME_ARRAY_VALUE&tagNames=SOME_ARRAY_VALUE&target=SOME_ARRAY_VALUE&type=SOME_ARRAY_VALUE&presentOnly=true&lastingOnly=true&displayableOnly=true&limit=100&page=4&includeMeta=false' 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Get redeemable promotions of a Profile

Retrieve all redeemable promotions related to a Profile.

IMPORTANT:

  • As a result of this request, the targetSegments of all the matching promotions are checked. If this results in checking more than 30 unique segments, any segments above this limit may be ignored.

  • The endpoint is limited to 25000 requests per minute (per workspace).


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_REDEEM_PROMOTIONS_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PROMOTIONS

Authorizations:
path Parameters
identifierType
required
string
Enum: "email" "phone" "externalId" "uuid" "clientId"
Example: email

The Profile identifier to use for the request

identifierValue
required
string

The value of the selected identifier

query Parameters
sort
string
Example: sort=requireRedeemedPoints,desc

The sorting order of the response.

You can sort by any combination of the following attributes:

  • headerName: promotion header name
  • name: promotion name
  • code: promotion code
  • startAt: time when the promotion starts
  • createdAt: time when the promotion was created
  • updatedAt: time when the promotion was last updated
  • expireAt: time when the promotion expires
  • requireRedeemedPoints: how many loyalty points are needed to redeem the promotion
  • type: type of the promotion
  • priority: priority of the promotion
  • status : status of the promotion for the Profile

Additionally, you can add the following attributes:

  • ai : enables ai sorting, should be only combined with status sorting (direction of sorting is not needed)

You can sort ascending (default) or descending by adding asc or desc after the parameter, separated by a comma.

Example: sort=requireRedeemedPoints&sort=expireAt,asc&sort=status,desc

presentOnly
boolean
Default: true
Example: presentOnly=true

When set to:

  • true, the response includes only promotions that are currently active (startAt later than now or null, expireAt later than now or null)
  • false, the response includes the above and also promotions that are expired or will become active in the future.
lastingOnly
boolean
Default: true
Example: lastingOnly=true

When set to true, shows promotions that are currently active and those that are still inactivated.

displayableOnly
boolean
Default: false
Example: displayableOnly=true

When set to true, promotions which are not currently active are included in response, according to date range defined in promotion fields displayFrom and displayTo.

status
Array of strings
Items Enum: "ACTIVE" "ASSIGNED" "REDEEMED"

Filter by promotion status

type
Array of strings
Items Enum: "GENERAL" "CUSTOM" "MEMBERS_ONLY"

Promotion type

statusByType
string
Example: statusByType=[CUSTOM]=ACTIVE

A combination of status and type, for example [CUSTOM]=ACTIVE

targetByType
string
Example: targetByType=[SEGMENT]=ACTIVE

A combination of target and type, for example [SEGMENT]=ACTIVE

includeMeta
boolean
Default: false
Example: includeMeta=false

When true, pagination metadata is included in the response body.

When false, the data is included in the response headers:

  • Link: links to neighbors, first, and last pages in pagination.

  • X-Pagination-Total-Count: total number of items on all pages

  • X-Pagination-Total-Pages: total number of pages

  • X-Pagination-Page: current page

  • X-Pagination-Limit: maximum number of items on a page

page
integer <int32>
Default: 1
Example: page=4

Page number to return for pagination. The first page has the index 1.

limit
integer <= 1000
Default: 100
Example: limit=100

The number of items to return per page

target
Array of strings
Items Enum: "ALL" "SEGMENT"

The target of the promotion

Responses

Request samples

curl --request GET 
  --url 'https://api.synerise.com/v4/promotions/promotion/get-for-client-possible-to-redeem/%7BidentifierType%7D/%7BidentifierValue%7D?sort=requireRedeemedPoints%2Cdesc&presentOnly=true&lastingOnly=true&displayableOnly=true&status=SOME_ARRAY_VALUE&type=SOME_ARRAY_VALUE&statusByType=%5BCUSTOM%5D%3DACTIVE&targetByType=%5BSEGMENT%5D%3DACTIVE&includeMeta=false&page=4&limit=100&target=SOME_ARRAY_VALUE' 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Get promotion details as Workspace

Retrieve the details of a promotion by its code.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_DETAILS_FOR_PROFILE_PROMOTIONS_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PROMOTIONS

Authorizations:
path Parameters
identifierType
required
string
Enum: "uuid" "code"

The promotion identifier to use for the request

identifierValue
required
string

The value of the selected identifier

Responses

Request samples

curl --request GET 
  --url https://api.synerise.com/v4/promotions/promotion/%7BidentifierType%7D/%7BidentifierValue%7D 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "data": {
    }
}

Update a promotion

You can update an existing promotion. Include only the fields that you want to change. Inserting a null value overwrites an existing value.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_DETAILS_FOR_PROFILE_PROMOTIONS_UPDATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PROMOTIONS

Authorizations:
path Parameters
identifierType
required
string
Enum: "uuid" "code"

The promotion identifier to use for the request

identifierValue
required
string

The value of the selected identifier

Request Body schema: application/json
visibilityStatus
string
Default: "DRAFT"
Enum: "DRAFT" "PUBLISH" "HIDDEN"

Profile-oriented status of the promotion.

type
string
Default: "GENERAL"
Enum: "MEMBERS_ONLY" "HANDBILL" "CUSTOM" "GENERAL"

Promotion type

redeemLimitPerClient
integer or null [ 0 .. 32767 ]
Default: 0

Limit how many times a Profile can redeem this promotion.

redeemQuantityPerActivation
integer or null [ 0 .. 8388607 ]

How many times per activation a multibuy promotion can be redeemed

redeemLimitGlobal
integer or null <int32> [ 0 .. 2147483647 ]
Default: 0

Limit the total of redemptions by all Profiles

redeemType
string
Enum: "FULL" "PARTIAL"

Promotion redemption type

object or null

Promotion details

discountType
string
Default: "NONE"
Enum: "PERCENT" "POINTS" "AMOUNT" "NONE" "MULTIBUY" "2_FOR_1" "EXACT_PRICE"

The type of discount

discountValue
number >= 0
Default: 0

How much discount to apply

discountMode
string
Default: "STATIC"
Enum: "STATIC" "STEP"

Promotion discount mode

object or null

Applies only when "discountMode": "STATIC".

preDiscountValue
number or null >= 0
Default: 0

In single-item promotions, this is the price of the item before the discount. This is in regular units of currency. For example, if the currency is USD and preDiscountValue is set to 1.2, the price before discount is 1 dollar and 20 cents.

requireRedeemedPoints
number <int32>
Default: 0

How many loyalty points are needed to activate the promotion

headerName
string

Name displayed in Synerise Web UI

headerDescription
string or null

Description displayed in Synerise Web UI

name
string

Promotion name displayed to viewers

headline
string or null

Promotion headline displayed to viewers

description
string or null

Details of the promotion displayed to viewers

Array of objects or null

Images and thumbnails for the promotion

Array of objects or null

An array of tags.

IMPORTANT: To be able to use a tag for promotions, you must first assign the tag to a directory with "type":"promotion". If the directory type does not exist, create it using this endpoint. Then create a directory of that type and assign tags to it.

startAt
string or null <date-time>

Time when the promotion becomes available. Defaults to current time.

expireAt
string or null <date-time>

Time when the promotion ends for all profiles. Defaults to current time. Has to be greater than startAt

displayFrom
string or null

Time when the promotion becomes displayable. Defaults to null.

displayTo
string or null

Time when the promotion stops being displayed for users. Defaults to null. Has to be greater than displayFrom.

lastingTime
integer or null <int32>
Default: 0

Duration of the promotion in seconds. This countdown starts when the profile activates a promotion and is individual for each profile.

object or null

A JSON object with any custom parameters of type string, object, array.

itemScope
string
Default: "LINE_ITEM"
Enum: "LINE_ITEM" "BASKET"

The scope of of the promotion.

  • LINE_ITEM is a promotion used for certain items in the basket
  • BASKET is a promotion that applies to the entire basket
minBasketValue
number or null >= 0

Minimal basket value required to trigger the application of the promotion. This is the basket value after calculating other promotions that apply to the items in the basket.

minBasketValue must be lower than maxBasketValue.

maxBasketValue
number or null >= 0

The maximum basket value to apply the promotion to. Any amount above the maximum is not discounted. This is the basket value after calculating other promotions that apply to the items in the basket.

maxBasketValue must be greater than minBasketValue

Example:
The maximum basket value is set to 500 USD. The discount is 10%. A basket's total is 700 USD. The discount is 50 USD.

catalog
string or null

ID of the item catalog that the promotion applies to

catalogItemType
string
Default: "ALL"
Enum: "ALL" "SELECTED" "FILTERED"
  • If set to "ALL", define the catalog in the catalog field and set catalogIndexItems to null.

  • If set to "SELECTED", define the catalog in the catalog field and provide a list of catalog items in catalogIndexItems.

  • If set to "FILTERED", define the catalog in the catalog field and provide a list of catalog filter ids in catalogFilterIds.

catalogIndexItems
Array of strings or null

'An array of items from the catalog to be included in the promotion if catalogItemType is set to SELECTED.

If catalogItemType is set to ALL, set catalogIndexItems to null.'

catalogFilterIds
Array of strings or null

'An array of catalog filter IDs to be executed to fetch catalog items if catalogItemType is set to FILTERED.

If catalogItemType is set to ALL, set catalogFilterIds to null.'

excludeCatalog
string or null

ID of the item catalog that the promotion should exclude

excludeCatalogItemType
string
Default: "ALL"
Enum: "ALL" "SELECTED" "FILTERED"
  • If set to "ALL", define the catalog in the excludeCatalog field and set excludeCatalogIndexItems to null.

  • If set to "SELECTED", define the catalog in the excludeCatalog field and provide a list of catalog items in excludeCatalogIndexItems.

  • If set to "FILTERED", define the catalog in the excludeCatalog field and provide a list of catalog filter ids in excludeCatalogFilterIds.

excludeCatalogIndexItems
Array of strings or null

'An array of items from the catalog to be excluded in the promotion if excludeCatalogItemType is set to SELECTED.

If excludeCatalogItemType is set to ALL, set excludeCatalogIndexItems to null.'

excludeCatalogFilterIds
Array of strings or null

'An array of catalog filter IDs to be executed to fetch catalog items to exclude if excludeCatalogItemType is set to FILTERED.

If excludeCatalogItemType is set to ALL, set excludeCatalogFilterIds to null.'

storeCatalog
string or null

ID of the store catalog that the promotion applies to

storeItemType
string
Default: "ALL"
Enum: "ALL" "SELECTED"

Defines if the promotion is available for the entire store catalog or only certain stores (listed in storeIds).

storeIds
Array of strings or null

An array of stores from the store catalog where the promotion is available if storeItemType is set to SELECTED

targetType
string
Default: "ALL"
Enum: "ALL" "SEGMENT"

If this field is set to "SEGMENT", you must provide a list of segments in targetSegment.

targetSegment
Array of strings or null

This field applies only when targetType is set to "SEGMENT".

price
integer [ 0 .. 2147483647 ]
Default: 0

In single-item promotions, this is the price of the item in the smallest unit of currency. For example, if the currency is USD and price is 120, the price is 1 dollar and 20 cents.

priority
integer [ 1 .. 500 ]
Default: 250

Defines the priority of the promotion for display. 1 is the highest priority.

importHash
string or null <uuid>

Hash of the import

Responses

Request samples

Content type
application/json
{
  • "visibilityStatus": "DRAFT",
  • "type": "MEMBERS_ONLY",
  • "redeemLimitPerClient": 0,
  • "redeemQuantityPerActivation": 8388607,
  • "redeemLimitGlobal": 0,
  • "redeemType": "FULL",
  • "details": {
    },
  • "discountType": "PERCENT",
  • "discountValue": 0,
  • "discountMode": "STATIC",
  • "discountModeDetails": {
    },
  • "preDiscountValue": 0,
  • "requireRedeemedPoints": 0,
  • "headerName": "string",
  • "headerDescription": "string",
  • "name": "string",
  • "headline": "string",
  • "description": "string",
  • "tags": [
    ],
  • "startAt": "2019-08-24T14:15:22Z",
  • "expireAt": "2019-08-24T14:15:22Z",
  • "displayFrom": "string",
  • "displayTo": "string",
  • "lastingTime": 0,
  • "params": { },
  • "itemScope": "LINE_ITEM",
  • "minBasketValue": 0,
  • "maxBasketValue": 0,
  • "catalog": "221",
  • "catalogItemType": "FILTERED",
  • "catalogIndexItems": [ ],
  • "catalogFilterIds": [
    ],
  • "excludeCatalog": "[\"311\"]",
  • "excludeCatalogItemType": "SELECTED",
  • "excludeCatalogIndexItems": [
    ],
  • "excludeCatalogFilterIds": [ ],
  • "storeCatalog": "string",
  • "storeItemType": "ALL",
  • "storeIds": [
    ],
  • "targetType": "ALL",
  • "targetSegment": [
    ],
  • "price": 0,
  • "priority": 250,
  • "importHash": "ced8a4ad-6d6e-48ca-a663-3fb07e6216a9"
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "data": {
    }
}

Get Profile promotions by a custom filter

Retrieve a list of promotions related to a Profile by a custom, pre-defined filter.

The filter is maintained by your backend administrator.

IMPORTANT:

  • As a result of this request, the targetSegments of all the matching promotions are checked. If this results in checking more than 30 unique segments, any segments above this limit may be ignored.
  • The endpoint is limited to 25000 requests per minute (per workspace).

  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_GET_FOR_CLIENT_BY_CUSTOM_SETTINGS_PROMOTIONS_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PROMOTIONS

Authorizations:
path Parameters
identifierType
required
string
Enum: "email" "phone" "externalId" "uuid" "clientId"
Example: email

The Profile identifier to use for the request

identifierValue
required
string

The value of the selected identifier

query Parameters
page
integer <int32>
Default: 1
Example: page=4

Page number to return for pagination. The first page has the index 1.

limit
integer <= 1000
Default: 100
Example: limit=100

The number of items to return per page

lockIdentifier
string
Example: lockIdentifier=6561d87b-2697-46ad-8f9a-0550736b86e3

Identifier of the lock which will be created with this request. The lock disables the profile's possibility to fetch promotion lists.

This lock will be active until one of those conditions is met:

  • the TTL (configured with the settings endpoint) expires.
  • it is removed using the Release "promotion requested" lock endpoint.
  • a promotion is redeemed and this lock's identifier is provided with the redemption request.

Responses

Request samples

curl --request GET 
  --url 'https://api.synerise.com/v4/promotions/promotion/get-for-client-by-custom-settings/%7BidentifierType%7D/%7BidentifierValue%7D?page=4&limit=100&lockIdentifier=6561d87b-2697-46ad-8f9a-0550736b86e3' 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Activate a promotion as Workspace

You can change the status of a Profile's promotion from assigned to active, the promotion can now be applied to a purchase.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_ACTIVATE_PROMOTIONS_UPDATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PROMOTIONS

Authorizations:
path Parameters
identifierType
required
string
Enum: "email" "phone" "externalId" "uuid" "clientId"
Example: email

The Profile identifier to use for the request

identifierValue
required
string

The value of the selected identifier

Request Body schema: application/json
key
required
string
Enum: "uuid" "code"

Type of promotion identifier

value
required
string

Value of the selected identifier

Responses

Request samples

Content type
application/json
{
  • "key": "code",
  • "value": "7893467834GG"
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "code": "string",
  • "status": "ASSIGNED",
  • "type": "MEMBERS_ONLY",
  • "redeemLimitPerClient": 0,
  • "redeemQuantityPerActivation": 8388607,
  • "currentRedeemedQuantity": 0,
  • "currentRedeemedLimit": 0,
  • "activationCounter": 0,
  • "possibleRedeems": 0,
  • "details": {
    },
  • "discountType": "PERCENT",
  • "discountValue": 0,
  • "discountMode": "STATIC",
  • "discountModeDetails": {
    },
  • "requireRedeemedPoints": 0,
  • "name": "string",
  • "headline": "string",
  • "description": "string",
  • "tags": [
    ],
  • "startAt": "2019-08-24T14:15:22Z",
  • "expireAt": "2019-08-24T14:15:22Z",
  • "displayFrom": "string",
  • "displayTo": "string",
  • "assignedAt": "2019-08-24T14:15:22Z",
  • "lastingTime": 0,
  • "lastingAt": "2019-08-24T14:15:22Z",
  • "params": { },
  • "catalogIndexItems": [ ],
  • "price": 0,
  • "priority": 250,
  • "itemScope": "LINE_ITEM",
  • "minBasketValue": 0,
  • "maxBasketValue": 0
}

Batch activate promotions as Workspace

You can change the status of a number of Profile's promotions promotion from assigned to active, the promotion can now be applied to a purchase.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_BATCH_ACTIVATE_PROMOTIONS_UPDATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PROMOTIONS

Authorizations:
path Parameters
identifierType
required
string
Enum: "email" "phone" "externalId" "uuid" "clientId"
Example: email

The Profile identifier to use for the request

identifierValue
required
string

The value of the selected identifier

Request Body schema: application/json
Array
key
required
string
Enum: "uuid" "code"

Type of promotion identifier

value
required
string

Value of the selected identifier

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{ }

Deactivate a promotion as Workspace

You can change the status of a Profile's activated promotion back to assigned.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_DEACTIVATE_PROMOTIONS_UPDATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PROMOTIONS

Authorizations:
path Parameters
identifierType
required
string
Enum: "email" "phone" "externalId" "uuid" "clientId"
Example: email

The Profile identifier to use for the request

identifierValue
required
string

The value of the selected identifier

Request Body schema: application/json
key
required
string
Enum: "uuid" "code"

Type of promotion identifier

value
required
string

Value of the selected identifier

Responses

Request samples

Content type
application/json
{
  • "key": "code",
  • "value": "7893467834GG"
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "code": "string",
  • "status": "ASSIGNED",
  • "type": "MEMBERS_ONLY",
  • "redeemLimitPerClient": 0,
  • "redeemQuantityPerActivation": 8388607,
  • "currentRedeemedQuantity": 0,
  • "currentRedeemedLimit": 0,
  • "activationCounter": 0,
  • "possibleRedeems": 0,
  • "details": {
    },
  • "discountType": "PERCENT",
  • "discountValue": 0,
  • "discountMode": "STATIC",
  • "discountModeDetails": {
    },
  • "requireRedeemedPoints": 0,
  • "name": "string",
  • "headline": "string",
  • "description": "string",
  • "tags": [
    ],
  • "startAt": "2019-08-24T14:15:22Z",
  • "expireAt": "2019-08-24T14:15:22Z",
  • "displayFrom": "string",
  • "displayTo": "string",
  • "assignedAt": "2019-08-24T14:15:22Z",
  • "lastingTime": 0,
  • "lastingAt": "2019-08-24T14:15:22Z",
  • "params": { },
  • "catalogIndexItems": [ ],
  • "price": 0,
  • "priority": 250,
  • "itemScope": "LINE_ITEM",
  • "minBasketValue": 0,
  • "maxBasketValue": 0
}

Batch deactivate promotions

You can change the status of a number of Profile's activated promotions back to assigned.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_BATCH_DEACTIVATE_PROMOTIONS_UPDATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PROMOTIONS

Authorizations:
path Parameters
identifierType
required
string
Enum: "email" "phone" "externalId" "uuid" "clientId"
Example: email

The Profile identifier to use for the request

identifierValue
required
string

The value of the selected identifier

Request Body schema: application/json
Array
key
required
string
Enum: "uuid" "code"

Type of promotion identifier

value
required
string

Value of the selected identifier

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
"{}"

Create a promotion

You can create a new promotion in the Synerise application.

If you don't enter a code or UUID, they are generated automatically.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_PROMOTIONS_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PROMOTIONS

Authorizations:
Request Body schema: application/json
visibilityStatus
string
Default: "DRAFT"
Enum: "DRAFT" "PUBLISH" "HIDDEN"

Profile-oriented status of the promotion.

type
string
Default: "GENERAL"
Enum: "MEMBERS_ONLY" "HANDBILL" "CUSTOM" "GENERAL"

Promotion type

redeemLimitPerClient
integer or null [ 0 .. 32767 ]
Default: 0

Limit how many times a Profile can redeem this promotion.

redeemQuantityPerActivation
integer or null [ 0 .. 8388607 ]

How many times per activation a multibuy promotion can be redeemed

redeemLimitGlobal
integer or null <int32> [ 0 .. 2147483647 ]
Default: 0

Limit the total of redemptions by all Profiles

redeemType
string
Enum: "FULL" "PARTIAL"

Promotion redemption type

object or null

Promotion details

discountType
string
Default: "NONE"
Enum: "PERCENT" "POINTS" "AMOUNT" "NONE" "MULTIBUY" "2_FOR_1" "EXACT_PRICE"

The type of discount

discountValue
number >= 0
Default: 0

How much discount to apply

discountMode
string
Default: "STATIC"
Enum: "STATIC" "STEP"

Promotion discount mode

object or null

Applies only when "discountMode": "STATIC".

preDiscountValue
number or null >= 0
Default: 0

In single-item promotions, this is the price of the item before the discount. This is in regular units of currency. For example, if the currency is USD and preDiscountValue is set to 1.2, the price before discount is 1 dollar and 20 cents.

requireRedeemedPoints
number <int32>
Default: 0

How many loyalty points are needed to activate the promotion

headerName
string

Name displayed in Synerise Web UI

headerDescription
string or null

Description displayed in Synerise Web UI

name
string

Promotion name displayed to viewers

headline
string or null

Promotion headline displayed to viewers

description
string or null

Details of the promotion displayed to viewers

Array of objects or null

Images and thumbnails for the promotion

Array of objects or null

An array of tags.

IMPORTANT: To be able to use a tag for promotions, you must first assign the tag to a directory with "type":"promotion". If the directory type does not exist, create it using this endpoint. Then create a directory of that type and assign tags to it.

startAt
string or null <date-time>

Time when the promotion becomes available. Defaults to current time.

expireAt
string or null <date-time>

Time when the promotion ends for all profiles. Defaults to current time. Has to be greater than startAt

displayFrom
string or null

Time when the promotion becomes displayable. Defaults to null.

displayTo
string or null

Time when the promotion stops being displayed for users. Defaults to null. Has to be greater than displayFrom.

lastingTime
integer or null <int32>
Default: 0

Duration of the promotion in seconds. This countdown starts when the profile activates a promotion and is individual for each profile.

object or null

A JSON object with any custom parameters of type string, object, array.

itemScope
string
Default: "LINE_ITEM"
Enum: "LINE_ITEM" "BASKET"

The scope of of the promotion.

  • LINE_ITEM is a promotion used for certain items in the basket
  • BASKET is a promotion that applies to the entire basket
minBasketValue
number or null >= 0

Minimal basket value required to trigger the application of the promotion. This is the basket value after calculating other promotions that apply to the items in the basket.

minBasketValue must be lower than maxBasketValue.

maxBasketValue
number or null >= 0

The maximum basket value to apply the promotion to. Any amount above the maximum is not discounted. This is the basket value after calculating other promotions that apply to the items in the basket.

maxBasketValue must be greater than minBasketValue

Example:
The maximum basket value is set to 500 USD. The discount is 10%. A basket's total is 700 USD. The discount is 50 USD.

catalog
string or null

ID of the item catalog that the promotion applies to

catalogItemType
string
Default: "ALL"
Enum: "ALL" "SELECTED" "FILTERED"
  • If set to "ALL", define the catalog in the catalog field and set catalogIndexItems to null.

  • If set to "SELECTED", define the catalog in the catalog field and provide a list of catalog items in catalogIndexItems.

  • If set to "FILTERED", define the catalog in the catalog field and provide a list of catalog filter ids in catalogFilterIds.

catalogIndexItems
Array of strings or null

'An array of items from the catalog to be included in the promotion if catalogItemType is set to SELECTED.

If catalogItemType is set to ALL, set catalogIndexItems to null.'

catalogFilterIds
Array of strings or null

'An array of catalog filter IDs to be executed to fetch catalog items if catalogItemType is set to FILTERED.

If catalogItemType is set to ALL, set catalogFilterIds to null.'

excludeCatalog
string or null

ID of the item catalog that the promotion should exclude

excludeCatalogItemType
string
Default: "ALL"
Enum: "ALL" "SELECTED" "FILTERED"
  • If set to "ALL", define the catalog in the excludeCatalog field and set excludeCatalogIndexItems to null.

  • If set to "SELECTED", define the catalog in the excludeCatalog field and provide a list of catalog items in excludeCatalogIndexItems.

  • If set to "FILTERED", define the catalog in the excludeCatalog field and provide a list of catalog filter ids in excludeCatalogFilterIds.

excludeCatalogIndexItems
Array of strings or null

'An array of items from the catalog to be excluded in the promotion if excludeCatalogItemType is set to SELECTED.

If excludeCatalogItemType is set to ALL, set excludeCatalogIndexItems to null.'

excludeCatalogFilterIds
Array of strings or null

'An array of catalog filter IDs to be executed to fetch catalog items to exclude if excludeCatalogItemType is set to FILTERED.

If excludeCatalogItemType is set to ALL, set excludeCatalogFilterIds to null.'

storeCatalog
string or null

ID of the store catalog that the promotion applies to

storeItemType
string
Default: "ALL"
Enum: "ALL" "SELECTED"

Defines if the promotion is available for the entire store catalog or only certain stores (listed in storeIds).

storeIds
Array of strings or null

An array of stores from the store catalog where the promotion is available if storeItemType is set to SELECTED

targetType
string
Default: "ALL"
Enum: "ALL" "SEGMENT"

If this field is set to "SEGMENT", you must provide a list of segments in targetSegment.

targetSegment
Array of strings or null

This field applies only when targetType is set to "SEGMENT".

price
integer [ 0 .. 2147483647 ]
Default: 0

In single-item promotions, this is the price of the item in the smallest unit of currency. For example, if the currency is USD and price is 120, the price is 1 dollar and 20 cents.

priority
integer [ 1 .. 500 ]
Default: 250

Defines the priority of the promotion for display. 1 is the highest priority.

importHash
string or null <uuid>

Hash of the import

Responses

Request samples

Content type
application/json
{
  • "visibilityStatus": "DRAFT",
  • "type": "MEMBERS_ONLY",
  • "redeemLimitPerClient": 0,
  • "redeemQuantityPerActivation": 8388607,
  • "redeemLimitGlobal": 0,
  • "redeemType": "FULL",
  • "details": {
    },
  • "discountType": "PERCENT",
  • "discountValue": 0,
  • "discountMode": "STATIC",
  • "discountModeDetails": {
    },
  • "preDiscountValue": 0,
  • "requireRedeemedPoints": 0,
  • "headerName": "string",
  • "headerDescription": "string",
  • "name": "string",
  • "headline": "string",
  • "description": "string",
  • "tags": [
    ],
  • "startAt": "2019-08-24T14:15:22Z",
  • "expireAt": "2019-08-24T14:15:22Z",
  • "displayFrom": "string",
  • "displayTo": "string",
  • "lastingTime": 0,
  • "params": { },
  • "itemScope": "LINE_ITEM",
  • "minBasketValue": 0,
  • "maxBasketValue": 0,
  • "catalog": "221",
  • "catalogItemType": "FILTERED",
  • "catalogIndexItems": [ ],
  • "catalogFilterIds": [
    ],
  • "excludeCatalog": "[\"311\"]",
  • "excludeCatalogItemType": "SELECTED",
  • "excludeCatalogIndexItems": [
    ],
  • "excludeCatalogFilterIds": [ ],
  • "storeCatalog": "string",
  • "storeItemType": "ALL",
  • "storeIds": [
    ],
  • "targetType": "ALL",
  • "targetSegment": [
    ],
  • "price": 0,
  • "priority": 250,
  • "importHash": "ced8a4ad-6d6e-48ca-a663-3fb07e6216a9"
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "data": {
    }
}

Delete a promotion

This method is used to delete an existing promotion. It can be used by a backend business administrator.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_PROMOTIONS_DELETE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PROMOTIONS

Authorizations:
Request Body schema: application/json
key
required
string
Enum: "uuid" "code"

Type of promotion identifier

value
required
string

Value of the selected identifier

Responses

Request samples

Content type
application/json
{
  • "key": "code",
  • "value": "Promotion III"
}

Response samples

Content type
application/json
{
  • "message": "Delete object with success"
}

Create or update a promotion

You can use this endpoint to create a new promotion or update an existing one that matches the UUID or promotion code that you send.

When updating an existing promotion include only the fields that you want to change. Inserting a null value overwrites an existing value.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permissions required: PROMOTIONS_PROMOTIONS_CREATE, PROMOTIONS_PROMOTIONS_UPDATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PROMOTIONS

Authorizations:
Request Body schema: application/json
uuid
string

Unique UUIDv4, generated automatically.

code
string

Unique code

visibilityStatus
string
Default: "DRAFT"
Enum: "DRAFT" "PUBLISH" "HIDDEN"

Profile-oriented status of the promotion.

type
string
Default: "GENERAL"
Enum: "MEMBERS_ONLY" "HANDBILL" "CUSTOM" "GENERAL"

Promotion type

redeemLimitPerClient
integer or null [ 0 .. 32767 ]
Default: 0

Limit how many times a Profile can redeem this promotion.

redeemQuantityPerActivation
integer or null [ 0 .. 8388607 ]

How many times per activation a multibuy promotion can be redeemed

redeemLimitGlobal
integer or null <int32> [ 0 .. 2147483647 ]
Default: 0

Limit the total of redemptions by all Profiles

redeemType
string
Enum: "FULL" "PARTIAL"

Promotion redemption type

discountType
string
Default: "NONE"
Enum: "PERCENT" "POINTS" "AMOUNT" "NONE" "MULTIBUY" "2_FOR_1" "EXACT_PRICE"

The type of discount

object or null

Promotion details

discountValue
number >= 0
Default: 0

How much discount to apply

discountMode
string
Default: "STATIC"
Enum: "STATIC" "STEP"

Promotion discount mode

object or null

Applies only when "discountMode": "STATIC".

preDiscountValue
number or null >= 0
Default: 0

In single-item promotions, this is the price of the item before the discount. This is in regular units of currency. For example, if the currency is USD and preDiscountValue is set to 1.2, the price before discount is 1 dollar and 20 cents.

requireRedeemedPoints
number <int32>
Default: 0

How many loyalty points are needed to activate the promotion

headerName
string

Name displayed in Synerise Web UI

headerDescription
string or null

Description displayed in Synerise Web UI

name
string

Promotion name displayed to viewers

headline
string or null

Promotion headline displayed to viewers

description
string or null

Details of the promotion displayed to viewers

Array of objects or null

Images and thumbnails for the promotion

Array of objects or null

An array of tags.

IMPORTANT: To be able to use a tag for promotions, you must first assign the tag to a directory with "type":"promotion". If the directory type does not exist, create it using this endpoint. Then create a directory of that type and assign tags to it.

startAt
string or null <date-time>

Time when the promotion becomes available. Defaults to current time.

expireAt
string or null <date-time>

Time when the promotion ends for all profiles. Defaults to current time. Has to be greater than startAt

displayFrom
string or null

Time when the promotion becomes displayable. Defaults to null.

displayTo
string or null

Time when the promotion stops being displayed for users. Defaults to null. Has to be greater than displayFrom.

lastingTime
integer or null <int32>
Default: 0

Duration of the promotion in seconds. This countdown starts when the profile activates a promotion and is individual for each profile.

object or null

A JSON object with any custom parameters of type string, object, array.

itemScope
string
Default: "LINE_ITEM"
Enum: "LINE_ITEM" "BASKET"

The scope of of the promotion.

  • LINE_ITEM is a promotion used for certain items in the basket
  • BASKET is a promotion that applies to the entire basket
minBasketValue
number or null >= 0

Minimal basket value required to trigger the application of the promotion. This is the basket value after calculating other promotions that apply to the items in the basket.

minBasketValue must be lower than maxBasketValue.

maxBasketValue
number or null >= 0

The maximum basket value to apply the promotion to. Any amount above the maximum is not discounted. This is the basket value after calculating other promotions that apply to the items in the basket.

maxBasketValue must be greater than minBasketValue

Example:
The maximum basket value is set to 500 USD. The discount is 10%. A basket's total is 700 USD. The discount is 50 USD.

catalog
string or null

ID of the item catalog that the promotion applies to

catalogItemType
string
Default: "ALL"
Enum: "ALL" "SELECTED" "FILTERED"
  • If set to "ALL", define the catalog in the catalog field and set catalogIndexItems to null.

  • If set to "SELECTED", define the catalog in the catalog field and provide a list of catalog items in catalogIndexItems.

  • If set to "FILTERED", define the catalog in the catalog field and provide a list of catalog filter ids in catalogFilterIds.

catalogIndexItems
Array of strings or null

'An array of items from the catalog to be included in the promotion if catalogItemType is set to SELECTED.

If catalogItemType is set to ALL, set catalogIndexItems to null.'

catalogFilterIds
Array of strings or null

'An array of catalog filter IDs to be executed to fetch catalog items if catalogItemType is set to FILTERED.

If catalogItemType is set to ALL, set catalogFilterIds to null.'

excludeCatalog
string or null

ID of the item catalog that the promotion should exclude

excludeCatalogItemType
string
Default: "ALL"
Enum: "ALL" "SELECTED" "FILTERED"
  • If set to "ALL", define the catalog in the excludeCatalog field and set excludeCatalogIndexItems to null.

  • If set to "SELECTED", define the catalog in the excludeCatalog field and provide a list of catalog items in excludeCatalogIndexItems.

  • If set to "FILTERED", define the catalog in the excludeCatalog field and provide a list of catalog filter ids in excludeCatalogFilterIds.

excludeCatalogIndexItems
Array of strings or null

'An array of items from the catalog to be excluded in the promotion if excludeCatalogItemType is set to SELECTED.

If excludeCatalogItemType is set to ALL, set excludeCatalogIndexItems to null.'

excludeCatalogFilterIds
Array of strings or null

'An array of catalog filter IDs to be executed to fetch catalog items to exclude if excludeCatalogItemType is set to FILTERED.

If excludeCatalogItemType is set to ALL, set excludeCatalogFilterIds to null.'

storeCatalog
string or null

ID of the store catalog that the promotion applies to

storeItemType
string
Default: "ALL"
Enum: "ALL" "SELECTED"

Defines if the promotion is available for the entire store catalog or only certain stores (listed in storeIds).

storeIds
Array of strings or null

An array of stores from the store catalog where the promotion is available if storeItemType is set to SELECTED

targetType
string
Default: "ALL"
Enum: "ALL" "SEGMENT"

If this field is set to "SEGMENT", you must provide a list of segments in targetSegment.

targetSegment
Array of strings or null

This field applies only when targetType is set to "SEGMENT".

price
integer [ 0 .. 2147483647 ]
Default: 0

In single-item promotions, this is the price of the item in the smallest unit of currency. For example, if the currency is USD and price is 120, the price is 1 dollar and 20 cents.

priority
integer [ 1 .. 500 ]
Default: 250

Defines the priority of the promotion for display. 1 is the highest priority.

importHash
string or null <uuid>

Hash of the import

Responses

Request samples

Content type
application/json
{
  • "uuid": "string",
  • "code": "string",
  • "visibilityStatus": "DRAFT",
  • "type": "MEMBERS_ONLY",
  • "redeemLimitPerClient": 0,
  • "redeemQuantityPerActivation": 8388607,
  • "redeemLimitGlobal": 0,
  • "redeemType": "FULL",
  • "discountType": "PERCENT",
  • "details": {
    },
  • "discountValue": 0,
  • "discountMode": "STATIC",
  • "discountModeDetails": {
    },
  • "preDiscountValue": 0,
  • "requireRedeemedPoints": 0,
  • "headerName": "string",
  • "headerDescription": "string",
  • "name": "string",
  • "headline": "string",
  • "description": "string",
  • "tags": [
    ],
  • "startAt": "2019-08-24T14:15:22Z",
  • "expireAt": "2019-08-24T14:15:22Z",
  • "displayFrom": "string",
  • "displayTo": "string",
  • "lastingTime": 0,
  • "params": { },
  • "itemScope": "LINE_ITEM",
  • "minBasketValue": 0,
  • "maxBasketValue": 0,
  • "catalog": "221",
  • "catalogItemType": "FILTERED",
  • "catalogIndexItems": [ ],
  • "catalogFilterIds": [
    ],
  • "excludeCatalog": "[\"311\"]",
  • "excludeCatalogItemType": "SELECTED",
  • "excludeCatalogIndexItems": [
    ],
  • "excludeCatalogFilterIds": [ ],
  • "storeCatalog": "string",
  • "storeItemType": "ALL",
  • "storeIds": [
    ],
  • "targetType": "ALL",
  • "targetSegment": [
    ],
  • "price": 0,
  • "priority": 250,
  • "importHash": "ced8a4ad-6d6e-48ca-a663-3fb07e6216a9"
}

Response samples

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

Check account lock

You can check if a Profile account is locked due to processing of batch promotion activations or deactivations.

You must be logged in as the Profile.


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

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_CHECK_CLIENT_PROMOTIONS_READ

Authorizations:

Responses

Request samples

curl --request GET 
  --url https://api.synerise.com/v4/promotions/promotion/locking/check-client 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "message": "Profile is unlocked and ready for traffic"
}

Process basket

Assign promotions to a basket and recalculate item values after discount.

This method DOES NOT redeem any promotions or create a transaction.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_SALE_PROMOTIONS_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PROMOTIONS

Authorizations:
path Parameters
identifierType
required
string
Enum: "email" "phone" "externalId" "uuid" "clientId"
Example: email

The Profile identifier to use for the request

identifierValue
required
string

The value of the selected identifier

Request Body schema: application/json
operationId
required
integer

Operation ID

clientDateTime
required
string <date-time>

Operation's start time

required
object

Data about the terminal that is the transaction's source

required
object

Metadata of the transaction

finalValue
required
string

The total cost of all items in the basket, after discounts, including tax

required
Array of objects[ items ]

Array of transaction items

required
Array of objects[ items ]

Array of additional items in the transaction

required
object

Payment information

Responses

Request samples

Content type
application/json
{
  • "operationId": 0,
  • "clientDateTime": "2019-08-24T14:15:22Z",
  • "terminal": {
    },
  • "transactionMetric": {
    },
  • "finalValue": "string",
  • "transactionItems": [
    ],
  • "transactionAdditionalItems": [
    ],
  • "paymentsReport": {
    }
}

Response samples

Content type
application/json
{
  • "responseCode": "string",
  • "responseDescription": "string",
  • "operationId": 0,
  • "clientDateTime": "2019-08-24T14:15:22Z",
  • "terminal": {
    },
  • "transactionMetric": {
    },
  • "finalValue": "string",
  • "transactionItems": [
    ],
  • "transactionAdditionalItem": [
    ],
  • "transactionGrantReport": [
    ]
}

Process checkout on POS

Assign checkout handbill coupons for a profile, based on items in the basket and historical transactions.

This method DOES NOT redeem any promotions or create a transaction.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_SALE_PROMOTIONS_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PROMOTIONS

Authorizations:
path Parameters
identifierType
required
string
Enum: "email" "phone" "externalId" "uuid" "clientId"
Example: email

The Profile identifier to use for the request

identifierValue
required
string

The value of the selected identifier

Request Body schema: application/json
operationId
required
integer

Operation ID

clientDateTime
required
string <date-time>

Operation's start time

required
object

Data about the terminal that is the transaction's source

required
object

Metadata of the transaction

finalValue
required
string

The total cost of all items in the basket, after discounts, including tax

required
Array of objects[ items ]

Array of transaction items

required
Array of objects[ items ]

Array of additional items in the transaction

required
object

Payment information

Responses

Request samples

Content type
application/json
{
  • "operationId": 0,
  • "clientDateTime": "2019-08-24T14:15:22Z",
  • "terminal": {
    },
  • "transactionMetric": {
    },
  • "finalValue": "string",
  • "transactionItems": [
    ],
  • "transactionAdditionalItems": [
    ],
  • "paymentsReport": {
    }
}

Response samples

Content type
application/json
{
  • "responseCode": "string",
  • "responseDescription": "string",
  • "operationId": 0,
  • "clientDateTime": "2019-08-24T14:15:22Z",
  • "terminal": {
    },
  • "transactionGrantReport": {
    }
}

Process anonymous Profile's basket

Assign promotions to a basket and recalculate item values after discount.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_SALE_PROMOTIONS_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PROMOTIONS

Authorizations:
Request Body schema: application/json
operationId
required
integer

Operation ID

clientDateTime
required
string <date-time>

Operation's start time

required
object

Data about the terminal that is the transaction's source

required
object

Metadata of the transaction

finalValue
required
string

The total cost of all items in the basket, after discounts, including tax

required
Array of objects[ items ]

Array of transaction items

required
Array of objects[ items ]

Array of additional items in the transaction

required
object

Payment information

Responses

Request samples

Content type
application/json
{
  • "operationId": 0,
  • "clientDateTime": "2019-08-24T14:15:22Z",
  • "terminal": {
    },
  • "transactionMetric": {
    },
  • "finalValue": "string",
  • "transactionItems": [
    ],
  • "transactionAdditionalItems": [
    ],
  • "paymentsReport": {
    }
}

Response samples

Content type
application/json
{
  • "responseCode": "string",
  • "responseDescription": "string",
  • "operationId": 0,
  • "clientDateTime": "2019-08-24T14:15:22Z",
  • "terminal": {
    },
  • "transactionMetric": {
    },
  • "finalValue": "string",
  • "transactionItems": [
    ],
  • "transactionAdditionalItem": [
    ],
  • "transactionGrantReport": [
    ]
}

Process anonymous Profile's checkout on POS

Assign checkout handbill coupons for anonymous profile, based on items in basket and historical transactions.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_SALE_PROMOTIONS_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PROMOTIONS

Authorizations:
Request Body schema: application/json
operationId
required
integer

Operation ID

clientDateTime
required
string <date-time>

Operation's start time

required
object

Data about the terminal that is the transaction's source

required
object

Metadata of the transaction

finalValue
required
string

The total cost of all items in the basket, after discounts, including tax

required
Array of objects[ items ]

Array of transaction items

required
Array of objects[ items ]

Array of additional items in the transaction

required
object

Payment information

Responses

Request samples

Content type
application/json
{
  • "operationId": 0,
  • "clientDateTime": "2019-08-24T14:15:22Z",
  • "terminal": {
    },
  • "transactionMetric": {
    },
  • "finalValue": "string",
  • "transactionItems": [
    ],
  • "transactionAdditionalItems": [
    ],
  • "paymentsReport": {
    }
}

Response samples

Content type
application/json
{
  • "responseCode": "string",
  • "responseDescription": "string",
  • "operationId": 0,
  • "clientDateTime": "2019-08-24T14:15:22Z",
  • "terminal": {
    },
  • "transactionGrantReport": {
    }
}

Vouchers

Manage vouchers and promotion codes

Assign a voucher from a pool to Profile

Assign a voucher code from an existing pool to a Profile.


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

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: VOUCHERS_ITEM_ASSIGN_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_CODE_POOL

Authorizations:
header Parameters
Accept
required
string
Value: "application/json"
Content-Type
required
string
Value: "application/json"
Api-Version
required
string
Enum: "4.4" "4.2"
Request Body schema: application/json
poolUuid
required
string

UUID of the voucher pool

clientUuid
string or null
Deprecated

UUID of the Profile. This field is ignored.

Responses

Request samples

Content type
application/json
{
  • "poolUuid": "faec32b0-c343-4362-ba32-c6148c649da4",
  • "clientUuid": "17243772-008a-42e1-ba37-c3807cebde8f"
}

Response samples

Content type
application/json
{
  • "message": "Code assigned with success",
  • "data": {
    }
}

Get assigned vouchers

Retrieve all vouchers assigned to a Profile.


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

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: VOUCHERS_ITEM_ASSIGN_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_CODE_POOL

Authorizations:
header Parameters
Accept
required
string
Value: "application/json"
Content-Type
required
string
Value: "application/json"
Api-Version
required
string
Enum: "4.4" "4.2"

Responses

Request samples

curl --request GET 
  --url https://api.synerise.com/v4/vouchers/item/get-assigned 
  --header 'Accept: SOME_STRING_VALUE' 
  --header 'Api-Version: SOME_STRING_VALUE' 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_' 
  --header 'Content-Type: SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get or assign and get voucher as Profile

Retrieve the code assigned to a Profile. If no code was assigned earlier, the method assigns one.

For each Profile, the same code is retrieved every time. This can be used, for example, to retrieve unique codes used to identify a Profile.


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

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permissions required: VOUCHERS_ITEM_ASSIGN_READ, VOUCHERS_ITEM_ASSIGN_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_CODE_POOL

Authorizations:
header Parameters
Accept
required
string
Value: "application/json"
Content-Type
required
string
Value: "application/json"
Api-Version
required
string
Enum: "4.4" "4.2"
Request Body schema: application/json
poolUuid
required
string

UUID of the voucher pool

clientUuid
string or null
Deprecated

UUID of the Profile. This field is ignored.

Responses

Request samples

Content type
application/json
{
  • "poolUuid": "faec32b0-c343-4362-ba32-c6148c649da4",
  • "clientUuid": "17243772-008a-42e1-ba37-c3807cebde8f"
}

Response samples

Content type
application/json
{
  • "message": "Code found with success",
  • "data": {
    }
}

Create a voucher

Create a single code and store it in a pool.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: VOUCHERS_ITEM_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_CODE_POOL

Authorizations:
header Parameters
Accept
required
string
Value: "application/json"
Content-Type
required
string
Value: "application/json"
Api-Version
required
string
Enum: "4.4" "4.2"
Request Body schema: application/json
poolUuid
required
string

UUID of the voucher pool

clientUuid
string

UUID of the Profile. It is a unique identifier.

The value can't include any characters that match the pattern (ECMA flavor): /([\uD800-\uDBFF][\uDC00-\uDFFF])|([\r\n\u2028\u2029\u00AD]|[\uFE00-\uFE0F]|[\u0000])/

clientId
integer

ID of the Profile

code
string or null

Voucher code

expireIn
string or null <date-time>

Date when the voucher expire.

redeemAt
string or null <date-time>

Time when the voucher was redeemed. Defaults to current time when redeeming.

assignedAt
string or null <date-time>

Time when the voucher was assigned. Defaults to current time when assigning.

status
string
Enum: "ASSIGNED" "UNASSIGNED" "REDEEMED" "CANCELED"

Voucher status

createdAt
string <date-time>

Time when the voucher was created.

updatedAt
string <date-time>

Time when the voucher was last updated.

Responses

Request samples

Content type
application/json
{
  • "poolUuid": "faec32b0-c343-4362-ba32-c6148c649da4",
  • "clientUuid": "07243772-008a-42e1-ba37-c3807cebde8f",
  • "clientId": 0,
  • "code": "code123",
  • "expireIn": "2019-08-24T14:15:22Z",
  • "redeemAt": "2019-08-24T14:15:22Z",
  • "assignedAt": "2019-08-24T14:15:22Z",
  • "status": "ASSIGNED",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "message": "Create object with success",
  • "data": {
    }
}

Bulk create vouchers

Create a number of codes and add them to a pool.

WARNING: The request body cannot contain more than 10 000 items or exceed 10 MB in size.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: VOUCHERS_ITEM_BULK_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_CODE_POOL

Authorizations:
header Parameters
Accept
required
string
Value: "application/json"
Content-Type
required
string
Value: "application/json"
Api-Version
required
string
Enum: "4.4" "4.2"
Request Body schema: application/json
poolUuid
required
string

UUID of the voucher pool

codeList
required
string

A list of unique voucher codes, separated by semicolons

Responses

Request samples

Content type
application/json
{
  • "poolUuid": "faec32b0-c343-4362-ba32-c6148c649da4",
  • "codeList": "3845734682364756454534;384574634564545456;567868678345234346748"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

List all vouchers

Retrieve all vouchers for a Workspace. You can customize the search.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: VOUCHERS_ITEM_LIST_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_CODE_POOL

Authorizations:
query Parameters
limit
integer <int32> <= 1000
Default: 100
Example: limit=100

The number of items to return per page

page
integer <int32>
Default: 1
Example: page=4

Page number to return for pagination. The first page has the index 1.

includeMeta
boolean
Default: false
Example: includeMeta=false

When true, pagination metadata is included in the response body.

When false, the data is included in the response headers:

  • Link: links to neighbors, first, and last pages in pagination.

  • X-Pagination-Total-Count: total number of items on all pages

  • X-Pagination-Total-Pages: total number of pages

  • X-Pagination-Page: current page

  • X-Pagination-Limit: maximum number of items on a page

header Parameters
Accept
required
string
Value: "application/json"
Content-Type
required
string
Value: "application/json"
Api-Version
required
string
Enum: "4.4" "4.2"

Responses

Request samples

curl --request GET 
  --url 'https://api.synerise.com/v4/vouchers/item/list?limit=100&page=4&includeMeta=false' 
  --header 'Accept: SOME_STRING_VALUE' 
  --header 'Api-Version: SOME_STRING_VALUE' 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_' 
  --header 'Content-Type: SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

View voucher details

Retrieve all details of a single code.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: VOUCHERS_ITEM_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_CODE_POOL

Authorizations:
path Parameters
voucherUuid
required
string
Example: 29392878-d43f-402e-8297-f63d465cf173

UUID of the voucher

header Parameters
Accept
required
string
Value: "application/json"
Content-Type
required
string
Value: "application/json"
Api-Version
required
string
Enum: "4.4" "4.2"

Responses

Request samples

curl --request GET 
  --url https://api.synerise.com/v4/vouchers/item/%7BvoucherUuid%7D 
  --header 'Accept: SOME_STRING_VALUE' 
  --header 'Api-Version: SOME_STRING_VALUE' 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_' 
  --header 'Content-Type: SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "data": {
    }
}

Update a voucher

Update an existing code.

If you don't want to change a field, omit it entirely. Sending a null-value field replaces an existing value.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: VOUCHERS_ITEM_UPDATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_CODE_POOL

Authorizations:
path Parameters
voucherUuid
required
string
Example: 29392878-d43f-402e-8297-f63d465cf173

UUID of the voucher

header Parameters
Accept
required
string
Value: "application/json"
Content-Type
required
string
Value: "application/json"
Api-Version
required
string
Enum: "4.4" "4.2"
Request Body schema: application/json
poolUuid
required
string

UUID of the voucher pool

clientUuid
string

UUID of the Profile. It is a unique identifier.

The value can't include any characters that match the pattern (ECMA flavor): /([\uD800-\uDBFF][\uDC00-\uDFFF])|([\r\n\u2028\u2029\u00AD]|[\uFE00-\uFE0F]|[\u0000])/

clientId
integer

ID of the Profile

code
string or null

Voucher code

expireIn
string or null <date-time>

Date when the voucher expire.

redeemAt
string or null <date-time>

Time when the voucher was redeemed. Defaults to current time when redeeming.

assignedAt
string or null <date-time>

Time when the voucher was assigned. Defaults to current time when assigning.

status
string
Enum: "ASSIGNED" "UNASSIGNED" "REDEEMED" "CANCELED"

Voucher status

createdAt
string <date-time>

Time when the voucher was created.

updatedAt
string <date-time>

Time when the voucher was last updated.

Responses

Request samples

Content type
application/json
{
  • "poolUuid": "faec32b0-c343-4362-ba32-c6148c649da4",
  • "clientUuid": "07243772-008a-42e1-ba37-c3807cebde8f",
  • "clientId": 0,
  • "code": "code123",
  • "expireIn": "2019-08-24T14:15:22Z",
  • "redeemAt": "2019-08-24T14:15:22Z",
  • "assignedAt": "2019-08-24T14:15:22Z",
  • "status": "ASSIGNED",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "message": "Update object with success",
  • "data": {
    }
}

Delete a voucher

Delete an existing code.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: VOUCHERS_ITEM_DELETE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_CODE_POOL

Authorizations:
path Parameters
voucherUuid
required
string
Example: 29392878-d43f-402e-8297-f63d465cf173

UUID of the voucher

header Parameters
Accept
required
string
Value: "application/json"
Content-Type
required
string
Value: "application/json"
Api-Version
required
string
Enum: "4.4" "4.2"

Responses

Request samples

curl --request DELETE 
  --url https://api.synerise.com/v4/vouchers/item/%7BvoucherUuid%7D 
  --header 'Accept: SOME_STRING_VALUE' 
  --header 'Api-Version: SOME_STRING_VALUE' 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_' 
  --header 'Content-Type: SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "message": "Delete object with success"
}

View voucher details by search key

Retrieve all details of a single voucher. As the key (identifier), you can use the promotion's code or UUID.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: VOUCHERS_ITEM_BY_SEARCH_KEY_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_CODE_POOL

Authorizations:
path Parameters
searchKey
required
string
Enum: "code" "uuid"
Example: code

The key type to search by

searchValue
required
string
Example: 29392878-d43f-402e-8297-f63d465cf173

The value to search for

header Parameters
Accept
required
string
Value: "application/json"
Content-Type
required
string
Value: "application/json"
Api-Version
required
string
Enum: "4.4" "4.2"

Responses

Request samples

curl --request GET 
  --url https://api.synerise.com/v4/vouchers/item/%7BsearchKey%7D/%7BsearchValue%7D 
  --header 'Accept: SOME_STRING_VALUE' 
  --header 'Api-Version: SOME_STRING_VALUE' 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_' 
  --header 'Content-Type: SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "data": {
    }
}

Assign a voucher to a Profile

Assign a code to a Profile and retrieve it. Every time this method is used, a different code is assigned.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: VOUCHERS_ITEM_ASSIGN_FOR_CLIENT_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_CODE_POOL

Authorizations:
header Parameters
Accept
required
string
Value: "application/json"
Content-Type
required
string
Value: "application/json"
Api-Version
required
string
Enum: "4.4" "4.2"
Request Body schema: application/json
poolUuid
required
string

UUID of the voucher pool

clientUuid
required
string

UUID of the Profile. It is a unique identifier.

The value can't include any characters that match the pattern (ECMA flavor): /([\uD800-\uDBFF][\uDC00-\uDFFF])|([\r\n\u2028\u2029\u00AD]|[\uFE00-\uFE0F]|[\u0000])/

Responses

Request samples

Content type
application/json
{
  • "poolUuid": "faec32b0-c343-4362-ba32-c6148c649da4",
  • "clientUuid": "07243772-008a-42e1-ba37-c3807cebde8f"
}

Response samples

Content type
application/json
{
  • "message": "Code assigned with success",
  • "data": {
    }
}

Get vouchers assigned to a Profile Deprecated

Get all codes assigned to a Profile.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: VOUCHERS_ITEM_ASSIGN_FOR_CLIENT_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_CODE_POOL

Authorizations:
path Parameters
clientUuid
required
string
Example: e9e6840b-b9d4-4c7b-8191-9c4f9e751c76

UUID of the Profile

header Parameters
Accept
required
string
Value: "application/json"
Content-Type
required
string
Value: "application/json"
Api-Version
required
string
Enum: "4.4" "4.2"

Responses

Request samples

curl --request GET 
  --url https://api.synerise.com/v4/vouchers/item/get-assigned-for-client/%7BclientUuid%7D 
  --header 'Accept: SOME_STRING_VALUE' 
  --header 'Api-Version: SOME_STRING_VALUE' 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_' 
  --header 'Content-Type: SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get or assign and get voucher as Workspace Deprecated

Retrieve the code assigned to a profile. If no code was assigned earlier, the method assigns one.

For each profile, the same code is retrieved every time. This can be used, for example, to retrieve unique codes used to identify a profile.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: VOUCHERS_ITEM_ASSIGN_FOR_CLIENT_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_CODE_POOL

Authorizations:
header Parameters
Accept
required
string
Value: "application/json"
Content-Type
required
string
Value: "application/json"
Api-Version
required
string
Enum: "4.4" "4.2"
Request Body schema: application/json
poolUuid
required
string

UUID of the voucher pool

clientUuid
required
string

UUID of the Profile. It is a unique identifier.

The value can't include any characters that match the pattern (ECMA flavor): /([\uD800-\uDBFF][\uDC00-\uDFFF])|([\r\n\u2028\u2029\u00AD]|[\uFE00-\uFE0F]|[\u0000])/

Responses

Request samples

Content type
application/json
{
  • "poolUuid": "faec32b0-c343-4362-ba32-c6148c649da4",
  • "clientUuid": "07243772-008a-42e1-ba37-c3807cebde8f"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get vouchers assigned to a Profile by identifier

Get all codes assigned to a Profile.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: VOUCHERS_ITEM_ASSIGN_FOR_CLIENT_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_CODE_POOL

Authorizations:
query Parameters
clientIdentifierName
required
string
Enum: "id" "uuid" "email" "custom_identify"
Example: clientIdentifierName=custom_identify

The Profile identifier to use for the request.

clientIdentifierValue
required
string
Example: clientIdentifierValue=custom_identify_123456

The value of the selected profile identifier

header Parameters
Accept
required
string
Value: "application/json"
Content-Type
required
string
Value: "application/json"
Api-Version
required
string
Enum: "4.4" "4.2"

Responses

Request samples

curl --request GET 
  --url 'https://api.synerise.com/v4/vouchers/item/get-assigned-for-client/by-identifier?clientIdentifierName=SOME_STRING_VALUE&clientIdentifierValue=SOME_STRING_VALUE' 
  --header 'Accept: SOME_STRING_VALUE' 
  --header 'Api-Version: SOME_STRING_VALUE' 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_' 
  --header 'Content-Type: SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get or assign and get voucher as Workspace

Retrieve the code assigned to a profile. If no code was assigned earlier, the method assigns one (it uses the provided profile identifier).

For each profile, the same code is retrieved every time. This can be used, for example, to retrieve unique codes used to identify a profile.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: VOUCHERS_ITEM_ASSIGN_FOR_CLIENT_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_CODE_POOL

Authorizations:
query Parameters
clientIdentifierName
required
string
Enum: "id" "uuid" "email" "custom_identify"
Example: clientIdentifierName=custom_identify

The Profile identifier to use for the request.

header Parameters
Accept
required
string
Value: "application/json"
Content-Type
required
string
Value: "application/json"
Api-Version
required
string
Enum: "4.4" "4.2"
Request Body schema: application/json
poolUuid
required
string

UUID of the voucher pool

required
string or integer

Value of the profile identifier. For example clientIdentifierValue=custom_identify_1234

Responses

Request samples

Content type
application/json
{
  • "poolUuid": "faec32b0-c343-4362-ba32-c6148c649da4",
  • "clientIdentifierValue": "custom_identify_1234"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Assign and get voucher as Workspace

Assign a code to a profile and retrieve it. Every time this method is used, a different code is assigned.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: VOUCHERS_ITEM_ASSIGN_FOR_CLIENT_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_CODE_POOL

Authorizations:
query Parameters
clientIdentifierName
required
string
Enum: "id" "uuid" "email" "custom_identify"
Example: clientIdentifierName=custom_identify

The Profile identifier to use for the request.

header Parameters
Accept
required
string
Value: "application/json"
Content-Type
required
string
Value: "application/json"
Api-Version
required
string
Enum: "4.4" "4.2"
Request Body schema: application/json
poolUuid
required
string

UUID of the voucher pool

required
string or integer

Value of the profile identifier. For example clientIdentifierValue=custom_identify_1234

Responses

Request samples

Content type
application/json
{
  • "poolUuid": "faec32b0-c343-4362-ba32-c6148c649da4",
  • "clientIdentifierValue": "custom_identify_1234"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Redeem a voucher

Redeem a code.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: VOUCHERS_ITEM_REDEEM_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_CODE_POOL

Authorizations:
header Parameters
Accept
required
string
Value: "application/json"
Content-Type
required
string
Value: "application/json"
Api-Version
required
string
Enum: "4.4" "4.2"
Request Body schema: application/json
code
required
string

Voucher code

Responses

Request samples

Content type
application/json
{
  • "code": "code123"
}

Response samples

Content type
application/json
{
  • "message": "Code redeemed with success",
  • "data": {
    }
}

List pools

Retrieve a list of voucher pools.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: VOUCHERS_POOL_LIST_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_CODE_POOL

Authorizations:
query Parameters
includeMeta
boolean
Default: false
Example: includeMeta=false

When true, pagination metadata is included in the response body.

When false, the data is included in the response headers:

  • Link: links to neighbors, first, and last pages in pagination.

  • X-Pagination-Total-Count: total number of items on all pages

  • X-Pagination-Total-Pages: total number of pages

  • X-Pagination-Page: current page

  • X-Pagination-Limit: maximum number of items on a page

orderFieldName
string
Default: "createdAt"
Enum: "name" "poolLimit" "startAt" "expireIn" "createdAt"

Name of the parameter used for sorting. If you include this parameter, you must also send the order parameter.

order
string
Default: "asc"
Enum: "asc" "desc"

Sorting order. If you include this parameter, you must also send the orderFieldName parameter.

query
string

Filter by phrase in pool name.

limit
integer <int32> <= 1000
Default: 100
Example: limit=100

The number of items to return per page

page
integer <int32>
Default: 1
Example: page=4

Page number to return for pagination. The first page has the index 1.

header Parameters
Accept
required
string
Value: "application/json"
Content-Type
required
string
Value: "application/json"
Api-Version
required
string
Enum: "4.4" "4.2"

Responses

Request samples

curl --request GET 
  --url 'https://api.synerise.com/v4/vouchers/pool/list?includeMeta=false&orderFieldName=SOME_STRING_VALUE&order=SOME_STRING_VALUE&query=SOME_STRING_VALUE&limit=100&page=4' 
  --header 'Accept: SOME_STRING_VALUE' 
  --header 'Api-Version: SOME_STRING_VALUE' 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_' 
  --header 'Content-Type: SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Create a voucher pool

Create a pool for voucher storage.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: VOUCHERS_POOL_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_CODE_POOL

Authorizations:
header Parameters
Accept
required
string
Value: "application/json"
Content-Type
required
string
Value: "application/json"
Api-Version
required
string
Enum: "4.4" "4.2"
Request Body schema: application/json
name
required
string

Name of the voucher pool

barcodeType
string
Default: "NONE"
Enum: "NONE" "UPC" "EAN-13" "CODE-39" "CODE-128" "ISBN" "ISSN" "QR-CODE"

The type of codes in the pool

description
string

A description of the pool

voucherPrefix
string
Default: "0"

A prefix added to each voucher in the pool

poolLimit
integer
Default: 0

Maximum number of vouchers to store in the pool

redeemedLimitPerClient
integer
Default: 0

Maximum number of times that one Profile can retrieve a voucher from this pool

startAt
string <date-time>

Time when the pool starts functioning. Defaults to current time.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "barcodeType": "NONE",
  • "description": "string",
  • "voucherPrefix": "0",
  • "poolLimit": 0,
  • "redeemedLimitPerClient": 0,
  • "startAt": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "message": "Create object with success",
  • "data": {
    }
}

Get pool details

Retrieve the details of a single voucher pool.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: VOUCHERS_POOL_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_CODE_POOL

Authorizations:
path Parameters
poolUuid
required
string
Example: 8465c240-d38e-42f8-af29-b9fa1ed05115

UUID of the voucher pool

header Parameters
Accept
required
string
Value: "application/json"
Content-Type
required
string
Value: "application/json"
Api-Version
required
string
Enum: "4.4" "4.2"

Responses

Request samples

curl --request GET 
  --url https://api.synerise.com/v4/vouchers/pool/%7BpoolUuid%7D 
  --header 'Accept: SOME_STRING_VALUE' 
  --header 'Api-Version: SOME_STRING_VALUE' 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_' 
  --header 'Content-Type: SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "uuid": "8465c240-d38e-42f8-af29-b9fa1ed05115",
  • "name": "string",
  • "description": "string",
  • "barcodeType": "NONE",
  • "voucherPrefix": "0",
  • "poolLimit": 0,
  • "redeemedLimitPerClient": 0,
  • "startAt": "2019-08-24T14:15:22Z",
  • "expireIn": "2019-08-24T14:15:22Z",
  • "userId": 0,
  • "assignedCount": 0,
  • "activeCount": 0,
  • "countAt": "2019-08-24T14:15:22Z",
  • "lastingTime": 0
}

Update a voucher pool

Update an existing pool of vouchers. If you don't want to change a parameter, omit it entirely.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: VOUCHERS_POOL_UPDATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_CODE_POOL

Authorizations:
path Parameters
poolUuid
required
string
Example: 8465c240-d38e-42f8-af29-b9fa1ed05115

UUID of the voucher pool

header Parameters
Accept
required
string
Value: "application/json"
Content-Type
required
string
Value: "application/json"
Api-Version
required
string
Enum: "4.4" "4.2"
Request Body schema: application/json
name
required
string

Name of the voucher pool

barcodeType
string
Default: "NONE"
Enum: "NONE" "UPC" "EAN-13" "CODE-39" "CODE-128" "ISBN" "ISSN" "QR-CODE"

The type of codes in the pool

description
string

A description of the pool

voucherPrefix
string
Default: "0"

A prefix added to each voucher in the pool

poolLimit
integer
Default: 0

Maximum number of vouchers to store in the pool

redeemedLimitPerClient
integer
Default: 0

Maximum number of times that one Profile can retrieve a voucher from this pool

startAt
string <date-time>

Time when the pool starts functioning. Defaults to current time.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "barcodeType": "NONE",
  • "description": "string",
  • "voucherPrefix": "0",
  • "poolLimit": 0,
  • "redeemedLimitPerClient": 0,
  • "startAt": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "message": "Update object with success",
  • "data": {
    }
}

Delete a voucher pool

Delete an existing pool of vouchers.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: VOUCHERS_POOL_DELETE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_CODE_POOL

Authorizations:
path Parameters
poolUuid
required
string
Example: 8465c240-d38e-42f8-af29-b9fa1ed05115

UUID of the voucher pool

header Parameters
Accept
required
string
Value: "application/json"
Content-Type
required
string
Value: "application/json"
Api-Version
required
string
Enum: "4.4" "4.2"

Responses

Request samples

curl --request DELETE 
  --url https://api.synerise.com/v4/vouchers/pool/%7BpoolUuid%7D 
  --header 'Accept: SOME_STRING_VALUE' 
  --header 'Api-Version: SOME_STRING_VALUE' 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_' 
  --header 'Content-Type: SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "message": "Delete object with success"
}

List vouchers from a pool

Retrieve vouchers from a single pool.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: VOUCHERS_ITEM_LIST_BY_POOL_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_CODE_POOL

Authorizations:
path Parameters
poolUuid
required
string
Example: 8465c240-d38e-42f8-af29-b9fa1ed05115

UUID of the voucher pool

query Parameters
limit
integer <int32> <= 1000
Default: 100
Example: limit=100

The number of items to return per page

page
integer <int32>
Default: 1
Example: page=4

Page number to return for pagination. The first page has the index 1.

includeMeta
boolean
Default: false
Example: includeMeta=false

When true, pagination metadata is included in the response body.

When false, the data is included in the response headers:

  • Link: links to neighbors, first, and last pages in pagination.

  • X-Pagination-Total-Count: total number of items on all pages

  • X-Pagination-Total-Pages: total number of pages

  • X-Pagination-Page: current page

  • X-Pagination-Limit: maximum number of items on a page

header Parameters
Accept
required
string
Value: "application/json"
Content-Type
required
string
Value: "application/json"
Api-Version
required
string
Enum: "4.4" "4.2"

Responses

Request samples

curl --request GET 
  --url 'https://api.synerise.com/v4/vouchers/item/list/%7BpoolUuid%7D?limit=100&page=4&includeMeta=false' 
  --header 'Accept: SOME_STRING_VALUE' 
  --header 'Api-Version: SOME_STRING_VALUE' 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_' 
  --header 'Content-Type: SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Delete vouchers by poolUuid

Delete vouchers assigned to pool.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: VOUCHERS_ITEM_BY_POOL_DELETE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_CODE_POOL

Authorizations:
path Parameters
poolUuid
required
string
Example: 8465c240-d38e-42f8-af29-b9fa1ed05115

UUID of the voucher pool

header Parameters
Accept
required
string
Value: "application/json"
Content-Type
required
string
Value: "application/json"
Api-Version
required
string
Enum: "4.4" "4.2"

Responses

Request samples

curl --request DELETE 
  --url https://api.synerise.com/v4/vouchers/item/list/%7BpoolUuid%7D 
  --header 'Accept: SOME_STRING_VALUE' 
  --header 'Api-Version: SOME_STRING_VALUE' 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_' 
  --header 'Content-Type: SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "message": "Delete object with success"
}

Count vouchers

Count (re-calculate) vouchers in a pool, group the results by status.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: VOUCHERS_ITEM_LIST_BY_POOL_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_CODE_POOL

Authorizations:
path Parameters
poolUuid
required
string
Example: 8465c240-d38e-42f8-af29-b9fa1ed05115

UUID of the voucher pool

header Parameters
Accept
required
string
Value: "application/json"
Content-Type
required
string
Value: "application/json"
Api-Version
required
string
Enum: "4.4" "4.2"

Responses

Request samples

curl --request POST 
  --url https://api.synerise.com/v4/vouchers/item/count/%7BpoolUuid%7D 
  --header 'Accept: SOME_STRING_VALUE' 
  --header 'Api-Version: SOME_STRING_VALUE' 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_' 
  --header 'Content-Type: SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "data": {
    }
}

Handbills

Create personalized promotions

Get all handbill configurations

Retrieve a list of all handbill configurations available in the current Workspace.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_HANDBILL_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PERSONALISED_PROMOTIONS

Authorizations:
query Parameters
limit
integer <= 1000
Default: 100
Example: limit=100

The number of items to return per page

page
integer <int32>
Default: 1
Example: page=4

Page number to return for pagination. The first page has the index 1.

sort
string
Example: sort=createdAt,desc

The sorting order of the response.

You can sort by any combination of the following attributes:

  • createdAt: time when the configuration was created
  • updatedAt: time when the configuration was last updated

You can sort ascending (default) or descending by adding asc or desc after the parameter, separated by a comma.

includeMeta
boolean
Default: false
Example: includeMeta=false

When true, pagination metadata is included in the response body.

When false, the data is included in the response headers:

  • Link: links to neighbors, first, and last pages in pagination.

  • X-Pagination-Total-Count: total number of items on all pages

  • X-Pagination-Total-Pages: total number of pages

  • X-Pagination-Page: current page

  • X-Pagination-Limit: maximum number of items on a page

Responses

Request samples

curl --request GET 
  --url 'https://api.synerise.com/v4/promotions/handbill?limit=100&page=4&sort=createdAt%2Cdesc&includeMeta=false' 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Create handbill configuration

Create a new handbill configuration for use in handbill-type promotions.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_HANDBILL_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PERSONALISED_PROMOTIONS

Authorizations:
Request Body schema: application/json
channel
required
string
Enum: "MOBILE" "CHECK_OUT" "CHECK_IN"

Channel of the handbill.

  • CHECK_IN means that the promotions are offered before a purchase.
  • CHECK_OUT means that promotions are offered after a purchase, and can be used in a future transaction.
  • MOBILE is used to deliver promotions to a mobile application.
status
required
string
Enum: "DRAFT" "ACTIVE" "INACTIVE"

Status of the handbill

name
required
string

Name of the handbill configuration

description
required
string

Description of the handbill configuration

required
object or null

Details of the control group. A control group is the part of profiles who are not offered any promotions so their activity can be compared with promotion-enabled profiles to check a promotion's effectiveness.

required
Array of objects[ items ]

Variants of the handbill configuration. If you do not want to use variants, send an empty array.

Responses

Request samples

Content type
application/json
{
  • "channel": "MOBILE",
  • "status": "DRAFT",
  • "name": "string",
  • "description": "string",
  • "controlGroup": {
    },
  • "variants": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "string"
}

Get handbill configuration

Retrieve the details of a single handbill configuration.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_HANDBILL_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PERSONALISED_PROMOTIONS

Authorizations:
path Parameters
handbillUuid
required
string <uuid>

UUID of the handbill configuration

Responses

Request samples

curl --request GET 
  --url https://api.synerise.com/v4/promotions/handbill/%7BhandbillUuid%7D 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "string"
}

Update handbill configuration

Update an existing handbill configuration.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_HANDBILL_UPDATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PERSONALISED_PROMOTIONS

Authorizations:
path Parameters
handbillUuid
required
string <uuid>

UUID of the handbill configuration

Request Body schema: application/json
channel
string
Enum: "MOBILE" "CHECK_OUT" "CHECK_IN"

Channel of the handbill.

  • CHECK_IN means that the promotions are offered before a purchase.
  • CHECK_OUT means that promotions are offered after a purchase, and can be used in a future transaction.
  • MOBILE is used to deliver promotions to a mobile application.
status
string
Enum: "DRAFT" "ACTIVE" "INACTIVE"

Status of the handbill

name
string

Name of the handbill configuration

description
string

Description of the handbill configuration

object or null

Details of the control group. A control group is the part of profiles who are not offered any promotions so their activity can be compared with promotion-enabled profiles to check a promotion's effectiveness.

Array of objects[ items ]

Variants of the handbill configuration. If you do not want to use variants, send an empty array.

Responses

Request samples

Content type
application/json
{
  • "channel": "MOBILE",
  • "status": "DRAFT",
  • "name": "string",
  • "description": "string",
  • "controlGroup": {
    },
  • "variants": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "string"
}

Generate handbill for Profile

Assign handbill promotions to a Profile. They can be randomized or suggested by the AI engine.

IMPORTANT:

  • The endpoint is limited to 1000 requests per minute (per workspace).
  • The algorithm that selects promotions for assignment candidates applies all the following filters:
    • Promotions must be of the specified type, assigned to a handbill campaign, and with the PUBLISH or HIDDEN status.
    • Promotions must be available for the entire duration of the handbill assignment, considering startAt and expireAt dates. For example, when generating assignments on May 1, 2024 at 9:00 a.m. that are expected to last 3 hours, the algorithm will consider promotions whose startAt date is equal to or earlier than May 1, 2024 9:00 a.m. and expireAt date is equal to or later than May 1, 2024 12:00 p.m.
    • Promotions can't currently be assigned within another handbill campaign.
    • Promotions must match the filter for the slot (if applicable). Promotions are handled by the binoculars service and identified by UUID.
    • Promotions are deduplicated. First they are sorted by priority, then the algorithm rejects promotions with at least one product that occurred earlier. In a special case, if a promotion with a high priority has an extensive catalog of products covering other promotions, it could exclude all promotions with a lower priority.
    • If excludeByAvailableProducts is set to true, the algorithm rejects promotions for items that are available as part of other promotions (regardless of their type)
    • After sorting promotions by priority, the algorithm rejects promotions for segments that occur after the 100th unique segment is encountered. (only 100 segments can be checked per handbill assignment, consider limiting the number of segments and reusing them).
    • After checking the first 100 unique segments, the algorithm rejects promotions for segments that don't match the user.
    • To ensure the correctness of promotion usage and redemption, the algorithm rejects promotions that are currently in the ACTIVE or REDEEMED status.

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

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_FOR_CLIENT_HANDBILL_READ

Authorizations:
path Parameters
handbillUuid
required
string <uuid>

UUID of the handbill configuration

query Parameters
limit
integer <= 1000
Default: 100
Example: limit=100

The number of items to return per page

page
integer <int32>
Default: 1
Example: page=4

Page number to return for pagination. The first page has the index 1.

Responses

Request samples

curl --request GET 
  --url 'https://api.synerise.com/v4/promotions/promotion/get-for-client/handbill/%7BhandbillUuid%7D?limit=100&page=4' 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Generate batch of handbills for Profile

Assign a batch of handbill promotions to a Profile. They can be randomized or suggested by the AI engine.

IMPORTANT:

  • The endpoint is limited to 1000 requests per minute (per workspace).
  • The algorithm that selects promotions for assignment candidates applies all the following filters:
    • Promotions must be of the specified type, assigned to a handbill campaign, and with the PUBLISH or HIDDEN status.
    • Promotions must be available for the entire duration of the handbill assignment, considering startAt and expireAt dates. For example, when generating assignments on May 1, 2024 at 9:00 a.m. that are expected to last 3 hours, the algorithm will consider promotions whose startAt date is equal to or earlier than May 1, 2024 9:00 a.m. and expireAt date is equal to or later than May 1, 2024 12:00 p.m.
    • Promotions can't currently be assigned within another handbill campaign.
    • Promotions must match the filter for the slot (if applicable). Promotions are handled by the binoculars service and identified by UUID.
    • Promotions are deduplicated. First they are sorted by priority, then the algorithm rejects promotions with at least one product that occurred earlier. In a special case, if a promotion with a high priority has an extensive catalog of products covering other promotions, it could exclude all promotions with a lower priority.
    • If excludeByAvailableProducts is set to true, the algorithm rejects promotions for items that are available as part of other promotions (regardless of their type)
    • After sorting promotions by priority, the algorithm rejects promotions for segments that occur after the 100th unique segment is encountered. (only 100 segments can be checked per handbill assignment, consider limiting the number of segments and reusing them).
    • After checking the first 100 unique segments, the algorithm rejects promotions for segments that don't match the user.
    • To ensure the correctness of promotion usage and redemption, the algorithm rejects promotions that are currently in the ACTIVE or REDEEMED status.

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

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_FOR_CLIENT_HANDBILL_READ

Authorizations:
query Parameters
handbillUuid
required
Array of strings

An array of handbill configuration UUIDs

page
integer <int32>
Default: 1
Example: page=4

Page number to return for pagination. The first page has the index 1.

limit
integer <= 1000
Default: 100
Example: limit=100

The number of items to return per page

includeMeta
boolean
Default: false
Example: includeMeta=false

When true, pagination metadata is included in the response body.

When false, the data is included in the response headers:

  • Link: links to neighbors, first, and last pages in pagination.

  • X-Pagination-Total-Count: total number of items on all pages

  • X-Pagination-Total-Pages: total number of pages

  • X-Pagination-Page: current page

  • X-Pagination-Limit: maximum number of items on a page

Responses

Request samples

curl --request GET 
  --url 'https://api.synerise.com/v4/promotions/promotion/get-for-client/handbills?handbillUuid=SOME_ARRAY_VALUE&page=4&limit=100&includeMeta=false' 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Generate handbill for Profile and get Profile promotions

Assign a handbill to a Profile and retrieve a list of promotions assigned to the Profile.

IMPORTANT:

  • The endpoint is limited to 1000 requests per minute (per workspace).
  • The algorithm that selects promotions for assignment candidates applies all the following filters:
    • Promotions must be of the specified type, assigned to a handbill campaign, and with the PUBLISH or HIDDEN status.
    • Promotions must be available for the entire duration of the handbill assignment, considering startAt and expireAt dates. For example, when generating assignments on May 1, 2024 at 9:00 a.m. that are expected to last 3 hours, the algorithm will consider promotions whose startAt date is equal to or earlier than May 1, 2024 9:00 a.m. and expireAt date is equal to or later than May 1, 2024 12:00 p.m.
    • Promotions can't currently be assigned within another handbill campaign.
    • Promotions must match the filter for the slot (if applicable). Promotions are handled by the binoculars service and identified by UUID.
    • Promotions are deduplicated. First they are sorted by priority, then the algorithm rejects promotions with at least one product that occurred earlier. In a special case, if a promotion with a high priority has an extensive catalog of products covering other promotions, it could exclude all promotions with a lower priority.
    • If excludeByAvailableProducts is set to true, the algorithm rejects promotions for items that are available as part of other promotions (regardless of their type)
    • After sorting promotions by priority, the algorithm rejects promotions for segments that occur after the 100th unique segment is encountered. (only 100 segments can be checked per handbill assignment, consider limiting the number of segments and reusing them).
    • After checking the first 100 unique segments, the algorithm rejects promotions for segments that don't match the user.
    • To ensure the correctness of promotion usage and redemption, the algorithm rejects promotions that are currently in the ACTIVE or REDEEMED status.

  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_FOR_CLIENT_HANDBILL_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PERSONALISED_PROMOTIONS

Authorizations:
path Parameters
identifierType
required
string
Enum: "email" "phone" "externalId" "uuid" "clientId"
Example: email

The Profile identifier to use for the request

identifierValue
required
string

The value of the selected identifier

handbillUuid
required
string <uuid>

UUID of the handbill configuration

query Parameters
type
Array of strings
Items Enum: "GENERAL" "CUSTOM" "MEMBERS_ONLY"

Promotion type

status
Array of strings
Items Enum: "ACTIVE" "ASSIGNED" "REDEEMED"

Filter by promotion status

visibilityStatus
Array of strings
Items Enum: "DRAFT" "PUBLISH" "HIDDEN"

Visibility status

tagNames
Array of strings

Filter the response to promotions with a certain tag or tags

target
Array of strings
Items Enum: "ALL" "SEGMENT"

The target of the promotion

presentOnly
boolean
Default: true
Example: presentOnly=true

When set to:

  • true, the response includes only promotions that are currently active (startAt later than now or null, expireAt later than now or null)
  • false, the response includes the above and also promotions that are expired or will become active in the future.
lastingOnly
boolean
Default: true
Example: lastingOnly=true

When set to true, shows promotions that are currently active and those that are still inactivated.

page
integer <int32>
Default: 1
Example: page=4

Page number to return for pagination. The first page has the index 1.

limit
integer <= 1000
Default: 100
Example: limit=100

The number of items to return per page

sort
string
Example: sort=createdAt,desc

The sorting order of the response.

You can sort by any combination of the following attributes:

  • createdAt: time when the configuration was created
  • updatedAt: time when the configuration was last updated

You can sort ascending (default) or descending by adding asc or desc after the parameter, separated by a comma.

includeMeta
boolean
Default: false
Example: includeMeta=false

When true, pagination metadata is included in the response body.

When false, the data is included in the response headers:

  • Link: links to neighbors, first, and last pages in pagination.

  • X-Pagination-Total-Count: total number of items on all pages

  • X-Pagination-Total-Pages: total number of pages

  • X-Pagination-Page: current page

  • X-Pagination-Limit: maximum number of items on a page

Responses

Request samples

curl --request GET 
  --url 'https://api.synerise.com/v4/promotions/promotion/get-for-client/%7BidentifierType%7D/%7BidentifierValue%7D/handbill/%7BhandbillUuid%7D?type=SOME_ARRAY_VALUE&status=SOME_ARRAY_VALUE&visibilityStatus=SOME_ARRAY_VALUE&tagNames=SOME_ARRAY_VALUE&target=SOME_ARRAY_VALUE&presentOnly=true&lastingOnly=true&page=4&limit=100&sort=createdAt%2Cdesc&includeMeta=false' 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Generate handbill for Profile (v2)

Assign handbill promotions to a Profile. They can be randomized or suggested by the AI engine.

IMPORTANT:

  • The endpoint is limited to 1000 requests per minute (per workspace).
  • The algorithm that selects promotions for assignment candidates applies all the following filters:
    • Promotions must be of the specified type, assigned to a handbill campaign, and with the PUBLISH or HIDDEN status.
    • Promotions must be available for the entire duration of the handbill assignment, considering startAt and expireAt dates. For example, when generating assignments on May 1, 2024 at 9:00 a.m. that are expected to last 3 hours, the algorithm will consider promotions whose startAt date is equal to or earlier than May 1, 2024 9:00 a.m. and expireAt date is equal to or later than May 1, 2024 12:00 p.m.
    • Promotions can't currently be assigned within another handbill campaign.
    • Promotions must match the filter for the slot (if applicable). Promotions are handled by the binoculars service and identified by UUID.
    • Promotions are deduplicated. First they are sorted by priority, then the algorithm rejects promotions with at least one product that occurred earlier. In a special case, if a promotion with a high priority has an extensive catalog of products covering other promotions, it could exclude all promotions with a lower priority.
    • If excludeByAvailableProducts is set to true, the algorithm rejects promotions for items that are available as part of other promotions (regardless of their type)
    • After sorting promotions by priority, the algorithm rejects promotions for segments that occur after the 100th unique segment is encountered. (only 100 segments can be checked per handbill assignment, consider limiting the number of segments and reusing them).
    • After checking the first 100 unique segments, the algorithm rejects promotions for segments that don't match the user.
    • To ensure the correctness of promotion usage and redemption, the algorithm rejects promotions that are currently in the ACTIVE or REDEEMED status.

  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_FOR_CLIENT_HANDBILL_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PERSONALISED_PROMOTIONS

Authorizations:
path Parameters
identifierType
required
string
Enum: "email" "phone" "externalId" "uuid" "clientId"
Example: email

The Profile identifier to use for the request

identifierValue
required
string

The value of the selected identifier

handbillUuid
required
string <uuid>

UUID of the handbill configuration

query Parameters
limit
integer <= 1000
Default: 100
Example: limit=100

The number of items to return per page

page
integer <int32>
Default: 1
Example: page=4

Page number to return for pagination. The first page has the index 1.

Responses

Request samples

curl --request GET 
  --url 'https://api.synerise.com/v4/promotions/v2/promotion/get-for-client/%7BidentifierType%7D/%7BidentifierValue%7D/handbill/%7BhandbillUuid%7D?limit=100&page=4' 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Generate batch handbill for Profile and get Profile promotions

Assign a batch handbill to a Profile and retrieve a list of promotions assigned to the Profile.

IMPORTANT:

  • The endpoint is limited to 1000 requests per minute (per workspace).
  • The algorithm that selects promotions for assignment candidates applies all the following filters:
    • Promotions must be of the specified type, assigned to a handbill campaign, and with the PUBLISH or HIDDEN status.
    • Promotions must be available for the entire duration of the handbill assignment, considering startAt and expireAt dates. For example, when generating assignments on May 1, 2024 at 9:00 a.m. that are expected to last 3 hours, the algorithm will consider promotions whose startAt date is equal to or earlier than May 1, 2024 9:00 a.m. and expireAt date is equal to or later than May 1, 2024 12:00 p.m.
    • Promotions can't currently be assigned within another handbill campaign.
    • Promotions must match the filter for the slot (if applicable). Promotions are handled by the binoculars service and identified by UUID.
    • Promotions are deduplicated. First they are sorted by priority, then the algorithm rejects promotions with at least one product that occurred earlier. In a special case, if a promotion with a high priority has an extensive catalog of products covering other promotions, it could exclude all promotions with a lower priority.
    • If excludeByAvailableProducts is set to true, the algorithm rejects promotions for items that are available as part of other promotions (regardless of their type)
    • After sorting promotions by priority, the algorithm rejects promotions for segments that occur after the 100th unique segment is encountered. (only 100 segments can be checked per handbill assignment, consider limiting the number of segments and reusing them).
    • After checking the first 100 unique segments, the algorithm rejects promotions for segments that don't match the user.
    • To ensure the correctness of promotion usage and redemption, the algorithm rejects promotions that are currently in the ACTIVE or REDEEMED status.

  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_FOR_CLIENT_HANDBILL_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PERSONALISED_PROMOTIONS

Authorizations:
path Parameters
identifierType
required
string
Enum: "email" "phone" "externalId" "uuid" "clientId"
Example: email

The Profile identifier to use for the request

identifierValue
required
string

The value of the selected identifier

query Parameters
handbillUuid
required
Array of strings

An array of handbill configuration UUIDs

type
Array of strings
Items Enum: "GENERAL" "CUSTOM" "MEMBERS_ONLY"

Promotion type

page
integer <int32>
Default: 1
Example: page=4

Page number to return for pagination. The first page has the index 1.

limit
integer <= 1000
Default: 100
Example: limit=100

The number of items to return per page

includeMeta
boolean
Default: false
Example: includeMeta=false

When true, pagination metadata is included in the response body.

When false, the data is included in the response headers:

  • Link: links to neighbors, first, and last pages in pagination.

  • X-Pagination-Total-Count: total number of items on all pages

  • X-Pagination-Total-Pages: total number of pages

  • X-Pagination-Page: current page

  • X-Pagination-Limit: maximum number of items on a page

status
Array of strings
Items Enum: "ACTIVE" "ASSIGNED" "REDEEMED"

Filter by promotion status

Responses

Request samples

curl --request GET 
  --url 'https://api.synerise.com/v4/promotions/promotion/get-for-client/%7BidentifierType%7D/%7BidentifierValue%7D/with-handbills?handbillUuid=SOME_ARRAY_VALUE&type=SOME_ARRAY_VALUE&page=4&limit=100&includeMeta=false&status=SOME_ARRAY_VALUE' 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Screen views

Screen view campaigns

Generate screen view from feed

When this method is called, the Synerise backend finds all screen view campaigns applicable to the JWT context and returns the screen view with the highest priority (1). Inserts are processed. If an insert can't be processed, the returned data is empty.

IMPORTANT: When the request's context is a Workspace or Synerise User JWT, only screen views with the audience set to ALL ("Everyone" in the Synerise Web Application) can be generated.

If the feed doesn't contain any screen views whose audience matches the JWT context of the request, the response is error 404.


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

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
feedSlug
required
string

Slug of the screen view feed

Responses

Request samples

curl --request GET 
  --url https://api.synerise.com/schema-service/v3/screen-views/%7BfeedSlug%7D/generate 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "hash": "19686d84-b10d-4f90-b18e-84fd3fa038fd",
  • "priority": 99,
  • "name": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "audience": {
    },
  • "data": {
    },
  • "path": "/v2/screen-views/f9215cb9-4a7e-410b-88cb-8bc40363cc10"
}

Generate screen view from feed

When this method is called, the Synerise backend finds all screen view campaigns applicable to the JWT context and returns the screen view with the highest priority (1). Inserts are processed. If an insert can't be processed, the returned data is empty.

IMPORTANT: When the request's context is a Workspace or Synerise User JWT, only screen views with the audience set to ALL ("Everyone" in the Synerise Web Application) can be generated.

If the feed doesn't contain any screen views whose audience matches the JWT context of the request, the response is error 404.


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

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
feedSlug
required
string

Slug of the screen view feed

Request Body schema: application/json
string or number

If you are generating the resource with a context that doesn't have the data for inserts in the resource (for example, a document has a {% customer param %} insert, but you're authenticated with a workspace JWT, so the customer context can't be extracted from the JWT), you can include the parameters in the request body. If an insert can't be processed, the returned content is empty.

Usage example: if the {% customer firstName %} insert is used in a document, you can pass its value by sending "customer.firstName": "Joe"

Because inserts are always encapsulated with quotation marks, inserts that return a number or a boolean value return it as a string.

Responses

Request samples

Content type
application/json
{
  • "property1": "string",
  • "property2": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "hash": "19686d84-b10d-4f90-b18e-84fd3fa038fd",
  • "priority": 99,
  • "name": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "audience": {
    },
  • "data": {
    },
  • "path": "/v2/screen-views/f9215cb9-4a7e-410b-88cb-8bc40363cc10"
}

Create screen view

Create a screen view.


  • API consumer who can use this method: Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
Request Body schema: application/json
priority
required
integer
Default: 99

Priority determines which screen view to show to a customer if their profile matches the conditions of more than one screen view. 1 is the highest priority.

name
string

Name of the screen view

directoryId
required
string <uuid>

UUID of a directory. Directories can be used to organize documents and screen views for display in the Synerise Web Application.

  • If you want to organize documents for screen view campaigns, use document groups instead.
  • If you want to organize screen views for display, use screen view feeds instead.
required
object (With document groups)

Content of the screen view

required
object

The profiles (clients) which have access to this resource

object

Configuration of the schedule

feedId
required
string <uuid>

UUID of the feed where this screen view is assigned.

Responses

Request samples

Content type
application/json
{
  • "priority": 99,
  • "name": "string",
  • "directoryId": "786c2ec1-fb9a-4593-b705-005b34c18c18",
  • "content": {
    },
  • "audience": {
    },
  • "schedule": {
    },
  • "feedId": "30c3a808-1315-453b-94cf-0ccb129b558b"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "businessProfileId": 0,
  • "name": "string",
  • "description": "string",
  • "status": "DRAFT",
  • "priority": 99,
  • "scheduled": true,
  • "author": {
    },
  • "content": {
    },
  • "audience": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "deletedAt": "2019-08-24T14:15:22Z",
  • "directory": {
    },
  • "feed": {
    }
}

Initialize screen view

Create a screen view. It is created as a blank, without any conditions.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
Request Body schema: application/json
name
string

If no name is provided, defaults to "Unnamed document" or Screen View Campaign" (depending on what you are initializing).

directory
string <uuid>

If no directory is provided, the default directory is used.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "directory": "5277859d-f92c-478c-acab-7680a97fea68"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "businessProfileId": 0,
  • "name": "string",
  • "description": "string",
  • "status": "DRAFT",
  • "priority": 99,
  • "scheduled": true,
  • "author": {
    },
  • "content": {
    },
  • "audience": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "deletedAt": "2019-08-24T14:15:22Z",
  • "directory": {
    },
  • "feed": {
    }
}

Add content to screen view

Add content to a screen view. This overwrites any existing content.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
screenViewId
required
string <uuid>

UUID of the screen view

Request Body schema: application/json
required
object

JSON structure of the screen view. By default, a newly created screen view has the following json value:

"collection": "{% screenviewcollection %}"

The {% screenviewcollection %} insert is used to pick and display the documents from the documents in documents or groups.

If this insert is not used, you must manually insert each document with {% document slug%}.

documents
required
Array of strings

An array of documents. If groups is used, this array must be empty.

groups
required
Array of strings <uuid>

An array of document groups, If documents is used, this array must be empty.

groupsOrder
boolean
Default: false

By default, group are ordered for display by their priority. When this field is set to true, they are displayed according to their order in the groups array instead.

Responses

Request samples

Content type
application/json
{
  • "json": {
    },
  • "documents": [
    ],
  • "groups": [
    ],
  • "groupsOrder": false
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "body": "string"
}

Add audience to screen view

Define the audience for a screen view.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
screenViewId
required
string <uuid>

UUID of the screen view

Request Body schema: application/json
targetType
required
string
Enum: "SEGMENT" "QUERY" "ALL"

The method of defining the audience:

  • SEGMENT sets the audience to segmentations whose UUIDs are provided in segments
  • QUERY sets the audience to an analytics query provided in query
  • ALL sets the audience to all profiles in the database
segments
Array of strings

An array of segmentation IDs. Used with targetType: SEGMENT

query
string

Stringified analysis object for the segmentation analytics engine. Used with targetType: QUERY. Refer to the Analytics API Reference.

Responses

Request samples

Content type
application/json
{
  • "targetType": "SEGMENT",
  • "segments": [
    ],
  • "query": "{\"analysis\":{\"title\":\"Unnamed segmentation\",\"description\":\"\",\"unique\":true,\"segments\":[{\"title\":\"Segmentation A\",\"description\":\"\",\"filter\":{\"matching\":true,\"expressions\":[{\"_id\":\"a9b76c8e-34bd-4ac3-be8f-f37041d126bd\",\"name\":\"\",\"type\":\"FUNNEL\",\"matching\":true,\"funnel\":{\"_id\":\"5c759d73-49c6-409f-96a3-b569dff8f8ff\",\"title\":\"Unnamed\",\"completedWithin\":null,\"dateFilter\":{\"type\":\"RELATIVE\",\"offset\":{\"type\":\"DAYS\",\"value\":0},\"duration\":{\"type\":\"DAYS\",\"value\":30}},\"steps\":[{\"_id\":\"78b97ae0-1bc5-45fb-82a4-4f1280cfbdff\",\"title\":\"\",\"action\":{\"id\":944,\"name\":\"page.visit\"},\"eventName\":\"page.visit\",\"expressions\":[]}],\"exact\":false}}]}}]}}"
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "body": "string"
}

Update screen view priority

Update priority in a screen view.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
screenViewId
required
string <uuid>

UUID of the screen view

Request Body schema: application/json
integer
Default: 99

Priority determines which screen view to show to a customer if their profile matches the conditions of more than one screen view. 1 is the highest priority.

Responses

Request samples

Content type
application/json
99

Response samples

Content type
application/json
{
  • "status": "string",
  • "body": "string"
}

Rename screen view

Update the name of a screen view. You can update the names of active screen views.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
screenViewId
required
string <uuid>

UUID of the screen view

Request Body schema: application/json
string (update screenview name)

New name for the screen view

Responses

Request samples

Content type
application/json
"string"

Response samples

Content type
application/json
{
  • "status": "string",
  • "body": "string"
}

Preview screen view with a profile context

This endpoint can be used to preview a generated document as a Workspace or Synerise User. To generate the output as a profile (client), use one of the following methods:

When this method is called, the Synerise backend finds all screen view campaigns in the requested feed which are applicable to the profile and returns the screen view with the highest priority (1). Inserts are processed. If an insert can't be processed, the returned data is empty.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
feedSlug
required
string

Slug of the screen view feed

identifierType
required
string
Enum: "id" "uuid" "email" "custom_identify"

Type of the profile identifier. The value is sent in identifierValue in the request body.

Request Body schema: application/json
identifierValue
required
string

Value of the selected identifier. Note that IDs must also be sent as strings.

object

Additional parameters

Responses

Request samples

Content type
application/json
{
  • "identifierValue": "string",
  • "params": {
    }
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "hash": "19686d84-b10d-4f90-b18e-84fd3fa038fd",
  • "priority": 99,
  • "name": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "audience": {
    },
  • "data": {
    },
  • "path": "/v2/screen-views/f9215cb9-4a7e-410b-88cb-8bc40363cc10"
}

List screen view feeds

Returns a list of screen view feeds.


  • API consumers who can use this method: Synerise User, Workspace (formerly Business Profile)

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:

Responses

Request samples

curl --request GET 
  --url https://api.synerise.com/schema-service/v2/screen-views/feeds 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
[
  • {
    }
]

Create screen view feed

Create a new screen view feed.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

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

Unique slug of the screen view feed

name
required
string

Name of the screen view feed

Responses

Request samples

Content type
application/json
{
  • "slug": "string",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "slug": "string",
  • "name": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "default": true
}

List screen views

Returns a paginated list of screen views.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
query Parameters
page
number <int32> >= 1
Default: 1
limit
number <int32>
Default: 25

Limit of items per page

search
string

A string to search for in resource names

directoryId
string <uuid>

UUID of the directory for filtering the results

status
string
Enum: "DRAFT" "ACTIVE" "SCHEDULED" "PAUSED" "FINISHED"

Filter by status

feedId
string <uuid>

UUID of the screen view feed for filtering the results

Responses

Request samples

curl --request GET 
  --url 'https://api.synerise.com/schema-service/v2/screen-views?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE&search=SOME_STRING_VALUE&directoryId=SOME_STRING_VALUE&status=SOME_STRING_VALUE&feedId=SOME_STRING_VALUE' 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "data": [
    ]
}

Get screen view

Retrieve the details of a screen view.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
screenViewId
required
string <uuid>

UUID of the screen view

Responses

Request samples

curl --request GET 
  --url https://api.synerise.com/schema-service/v2/screen-views/%7BscreenViewId%7D 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "businessProfileId": 0,
  • "name": "string",
  • "description": "string",
  • "status": "DRAFT",
  • "priority": 99,
  • "scheduled": true,
  • "author": {
    },
  • "content": {
    },
  • "audience": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "deletedAt": "2019-08-24T14:15:22Z",
  • "directory": {
    },
  • "feed": {
    }
}

Delete screen view

Delete a screen view.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_DELETE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
screenViewId
required
string <uuid>

UUID of the screen view

Responses

Request samples

curl --request DELETE 
  --url https://api.synerise.com/schema-service/v2/screen-views/%7BscreenViewId%7D 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "status": "string",
  • "body": "string"
}

Copy screen view

Copy a screen view. The copy receives the DRAFT status, regardless of the status of the original screen view.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
screenViewId
required
string <uuid>

UUID of the screen view

Responses

Request samples

curl --request POST 
  --url https://api.synerise.com/schema-service/v2/screen-views/%7BscreenViewId%7D/copy 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "version": "string",
  • "status": "DRAFT",
  • "hash": "bb6639b2-a98e-49d9-804f-ed6c0e2a0d2f:2019-12-05T08:22:10.094",
  • "parentVersion": "string",
  • "authorId": "string",
  • "businessProfileId": 0,
  • "priority": 99,
  • "name": "string",
  • "description": "string",
  • "isActive": true,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "deletedAt": "2019-08-24T14:15:22Z"
}

Get predecessors for screen view

Retrieve information about documents or screen views that refer to the requested screen view.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
screenViewId
required
string <uuid>

UUID of the screen view

Responses

Request samples

curl --request GET 
  --url https://api.synerise.com/schema-service/v2/screen-views/%7BscreenViewId%7D/predecessors 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
[
  • {
    }
]

Get successors for screen view

Retrieve information about documents referenced from the requested screen view.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
screenViewId
required
string <uuid>

UUID of the screen view

Responses

Request samples

curl --request GET 
  --url https://api.synerise.com/schema-service/v2/screen-views/%7BscreenViewId%7D/successors 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
[
  • {
    }
]

List screen view directories

Returns a list of screen view directories.


  • API consumers who can use this method: Synerise User, Workspace (formerly Business Profile)

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:

Responses

Request samples

curl --request GET 
  --url https://api.synerise.com/schema-service/v2/screen-views/directory 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
[
  • {
    }
]

Add screen view directory

Create a directory for screen views.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

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

Name of the directory

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "businessProfileId": 0,
  • "name": "string",
  • "objectType": "EXPRESSION",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "isDefault": true
}

Rename screen view directory

Update the name of a screen view directory.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_DELETE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
directoryId
required
string <uuid>

UUID of the directory

Request Body schema: application/json
name
required
string

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "businessProfileId": 0,
  • "name": "string",
  • "objectType": "EXPRESSION",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "isDefault": true
}

Delete screen view directory

Delete a screen view directory. The contents are moved into the default directory.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_DELETE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
directoryId
required
string <uuid>

UUID of the directory

Responses

Request samples

curl --request DELETE 
  --url https://api.synerise.com/schema-service/v2/screen-views/directory/%7BdirectoryId%7D 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "businessProfileId": 0,
  • "name": "string",
  • "objectType": "EXPRESSION",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "isDefault": true
}

Assign screen view to directory

Assign a screen view to a directory. A screen view can only belong to one directory and using this endpoint overwrites the current assignment.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_DELETE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
screenViewId
required
string <uuid>

UUID of the screen view

directoryId
required
string <uuid>

UUID of the directory

Responses

Request samples

curl --request POST 
  --url https://api.synerise.com/schema-service/v2/screen-views/%7BscreenViewId%7D/directory/%7BdirectoryId%7D/attach 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "docId": "b394169a-e7cd-41ad-9e47-a6d4a11d664b",
  • "name": "string",
  • "status": "DRAFT",
  • "authorId": 0,
  • "directoryId": "786c2ec1-fb9a-4593-b705-005b34c18c18",
  • "scheduled": true,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "deletedAt": "2019-08-24T14:15:22Z"
}

Assign screen view to feed

Assign a screen view to a feed.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
screenViewId
required
string <uuid>

UUID of the screen view

Request Body schema: application/json
string <uuid>

UUID of the feed to which you want to assign the screen view

Responses

Request samples

Content type
application/json
"497f6eca-6276-4993-bfeb-53cbbbba6f08"

Response samples

Content type
application/json
{
  • "status": "string",
  • "body": "string"
}

Rename screen view feed

Update the name of a screen view feed.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
feedId
required
string <uuid>

UUID of a screen view feed

Request Body schema: application/json
name
required
string

New name of the feed

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "businessProfileId": 0,
  • "name": "string",
  • "objectType": "EXPRESSION",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "isDefault": true
}

Delete screen view feed

Delete a screen view feed. The screen views currently in this feed are moved to the default feed.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_DELETE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
feedId
required
string <uuid>

UUID of a screen view feed

Responses

Request samples

curl --request DELETE 
  --url https://api.synerise.com/schema-service/v2/screen-views/feeds/%7BfeedId%7D 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "slug": "string",
  • "name": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "default": true
}

Schedule object

Add a schedule to a document or screen view.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
Request Body schema: application/json
externalId
string <uuid>

UUID of the screen view or document that the schedule applies to

type
string
Enum: "SCREENVIEW" "DOCUMENT"

Type of the scheduled object

object

Configuration of the schedule

Responses

Request samples

Content type
application/json
{
  • "externalId": "3200d382-adfe-4314-ab30-798cdd0fcdb5",
  • "type": "SCREENVIEW",
  • "schedule": {
    }
}

Response samples

Content type
application/json
{
  • "active": true,
  • "externalId": "3200d382-adfe-4314-ab30-798cdd0fcdb5",
  • "type": "SCREENVIEW",
  • "finished": true,
  • "schedule": {
    }
}

Get schedule the schedule of an object

Get schedule object.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
objectId
required
string <uuid>

Screen view or document ID

objectType
required
string
Enum: "SCREENVIEW" "DOCUMENT"

Object type

Responses

Request samples

curl --request GET 
  --url https://api.synerise.com/schema-service/scheduler/entry/%7BobjectType%7D/%7BobjectId%7D 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "active": true,
  • "externalId": "3200d382-adfe-4314-ab30-798cdd0fcdb5",
  • "type": "SCREENVIEW",
  • "finished": true,
  • "schedule": {
    }
}

Finish screen view

Finish a screen view. A finished document is no longer displayed.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
screenViewId
required
string <uuid>

UUID of the screen view

Responses

Request samples

curl --request POST 
  --url https://api.synerise.com/schema-service/v2/screen-views/%7BscreenViewId%7D/status/finish 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "status": "string",
  • "body": "string"
}

Resume screen view

Resume a screen view that was paused.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
screenViewId
required
string <uuid>

UUID of the screen view

Responses

Request samples

curl --request POST 
  --url https://api.synerise.com/schema-service/v2/screen-views/%7BscreenViewId%7D/status/resume 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "status": "string",
  • "body": "string"
}

Activate screen view

Activate a screen view. It can be displayed to customers.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
screenViewId
required
string <uuid>

UUID of the screen view

Responses

Request samples

curl --request POST 
  --url https://api.synerise.com/schema-service/v2/screen-views/%7BscreenViewId%7D/status/activate 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "status": "string",
  • "body": "string"
}

Pause screen view

Pause a screen view. Until resumed, it can't be displayed to customers.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
screenViewId
required
string <uuid>

UUID of the screen view

Responses

Request samples

curl --request POST 
  --url https://api.synerise.com/schema-service/v2/screen-views/%7BscreenViewId%7D/status/pause 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "status": "string",
  • "body": "string"
}

Loyalty points

Manage or transfer loyalty points

Transfer points to another profile

With this method, a profile can send some of their points to another profile.


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

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_POINTS_TRANSFER_EXECUTE

Authorizations:
Request Body schema: application/json
pointsAmount
required
integer >= 1

How many points to send

required
object

Identifier of the recipient

object

Information about the sender

message
string <= 256 characters

A message that the recipient will receive with the points

Responses

Request samples

Content type
application/json
{
  • "pointsAmount": 1,
  • "recipient": {
    },
  • "sender": {
    },
  • "message": "string"
}

Response samples

Content type
application/json
{
  • "message": "Point transfer scheduled"
}

Promotion settings

Settings for the promotion backend

Get settings for current Workspace


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_SETTINGS_PROMOTIONS_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PERSONALISED_PROMOTIONS

Responses

Request samples

curl --request GET 
  --url https://api.synerise.com/v4/promotions/settings

Response samples

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

Update settings for current Workspace

This method overrides all current settings. If you do not send a setting that currently exists, it will be reverted to default value.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_SETTINGS_PROMOTIONS_UPDATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PERSONALISED_PROMOTIONS

Request Body schema: application/json
object or null

Handbill checkout settings

enableCodeGeneration
boolean or null

Flag which indicates if promotion code should be generated as ordinal number prefixed with prefix defined in codePrefix

codePrefix
string or null

Prefix which will be added to promotion code, when enableCodeGeneration is set to true

blockTag
string or null

Tag name which marks a profile as blocked. Blocked profiles do not receive promotions in POS methods and are not allowed to activate new promotions.

expression
string or null <uuid>

Expression UUID which will be used to count the balance of loyalty points in the promotion activation endpoint.

restorePointsOnProfileDeactivation
boolean or null
Default: true

When set to true and you use the method which deactivates all promotions for a profile, the points taken for activation of the promotion will be restored.

allowRedeemCompletionWhenBlocked
boolean or null
Default: false

When set to true, the profile can complete the redemption of promotions that had been activated before a lock was put on that profile.

object or null

Settings for sales

object or null

Settings for locks

Array of objects <= 1 items [ items ]

Settings for point transfers

Responses

Request samples

Content type
application/json
{
  • "checkoutSettings": {
    },
  • "enableCodeGeneration": true,
  • "codePrefix": "SYN",
  • "blockTag": "BLOCKED",
  • "expression": "8e30707e-988c-498c-a88e-47375a3dcfb5",
  • "promotionListSettings": {
    },
  • "promotionAssignmentSettings": {
    },
  • "restorePointsOnProfileDeactivation": true,
  • "allowRedeemCompletionWhenBlocked": false,
  • "saleSettings": {
    },
  • "lockSettings": {
    },
  • "transferSettings": [
    ]
}

Response samples

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

Promotion locks

Locks let you temporarily disable some promotion functionalities for selected Profiles

Create point lock for profile

Create a point lock for a profile. That profile cannot activate or de-activate promotions based on loyalty points until the lock is released. The profile can still redeem promotions.
This lock is released with the "Release point lock for profile" endpoint or when its TTL (defined in the query parameters) expires.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_LOCK_UPDATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PROMOTIONS

Authorizations:
path Parameters
identifierType
required
string
Enum: "email" "phone" "externalId" "uuid" "clientId"
Example: email

The Profile identifier to use for the request

identifierValue
required
string

The value of the selected identifier

query Parameters
lockTtlSec
number
Default: 900

Lock duration in seconds

Responses

Request samples

curl --request POST 
  --url 'https://api.synerise.com/v4/promotions/lock/create-points-lock-for-client/%7BidentifierType%7D/%7BidentifierValue%7D?lockTtlSec=SOME_NUMBER_VALUE' 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

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

Release point lock for profile

Release a point lock from a profile. That profile can now activate and de-activate promotions based on loyalty points.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_LOCK_UPDATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PROMOTIONS

Authorizations:
path Parameters
lockIdentifier
required
string
Example: 2f01c1b4-4266-41cb-b8d9-fd00457eedef.1640081408119

Lock identifier

identifierType
required
string
Enum: "email" "phone" "externalId" "uuid" "clientId"
Example: email

The Profile identifier to use for the request

identifierValue
required
string

The value of the selected identifier

Responses

Request samples

curl --request POST 
  --url https://api.synerise.com/v4/promotions/lock/release-points-lock-for-client/%7BidentifierType%7D/%7BidentifierValue%7D/%7BlockIdentifier%7D 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "message": "Lock release succeeded"
}

Release "promotion requested" lock from profile

Release a "promotion requested" lock from a profile. That profile can now fetch promotion lists. This kind of lock can be applied when using the Get Profile promotions by a custom filter endpoint.


  • API consumers who can use this method: Workspace (formerly Business Profile), Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: PROMOTIONS_LOCK_UPDATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: CAMPAIGNS_PROMOTIONS

Authorizations:
path Parameters
lockIdentifier
required
string
Example: 2f01c1b4-4266-41cb-b8d9-fd00457eedef.1640081408119

Lock identifier

identifierType
required
string
Enum: "email" "phone" "externalId" "uuid" "clientId"
Example: email

The Profile identifier to use for the request

identifierValue
required
string

The value of the selected identifier

Responses

Request samples

curl --request POST 
  --url https://api.synerise.com/v4/promotions/lock/release-promotion-requested-lock-for-client/%7BidentifierType%7D/%7BidentifierValue%7D/%7BlockIdentifier%7D 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "message": "Lock release succeeded"
}

Screen views (legacy)

Deprecated endpoints for screen view campaigns

Get all screen views Deprecated

Retrieve a paginated list of all screen view campaigns in the workspace.


  • API consumers who can use this method: Synerise User, Workspace (formerly Business Profile)

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
query Parameters
limit
required
string

The maximum number of items to retrieve for pagination

page
required
integer

The number of the page to retrieve

status
string
Enum: "DRAFT" "ACTIVE" "SCHEDULED" "PAUSED" "FINISHED"

Filter the results by screen view status

Responses

Request samples

curl --request GET 
  --url 'https://api.synerise.com/schema-service/screenViews?limit=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&status=SOME_STRING_VALUE' 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

Get screen views by keys Deprecated

Retrieve list of screen view campaigns by keys in the workspace.


  • API consumer who can use this method: Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
Request Body schema: application/json
Array
string

Responses

Request samples

Content type
application/json
[
  • "string"
]

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

Get screen view Deprecated

Retrieve the details of a single screen view campaign.


  • API consumers who can use this method: Synerise User, Workspace (formerly Business Profile)

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
screenViewId
required
string <uuid>

UUID of the screen view

screenViewVersion
required
string

Version of the screen view

Responses

Request samples

curl --request GET 
  --url https://api.synerise.com/schema-service/screenViews/single/%7BscreenViewId%7D/%7BscreenViewVersion%7D 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "version": "string",
  • "parentVersion": "string",
  • "businessProfileId": 0,
  • "name": "string",
  • "description": "string",
  • "status": "DRAFT",
  • "priority": 99,
  • "scheduled": true,
  • "author": {
    },
  • "content": {
    },
  • "audience": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "deletedAt": "2019-08-24T14:15:22Z",
  • "directory": {
    },
  • "feed": {
    }
}

Get screen view versions Deprecated

Retrieve all versions of a screen view campaign.


  • API consumers who can use this method: Synerise User, Workspace (formerly Business Profile)

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_READ

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
screenViewId
required
string <uuid>

UUID of the screen view

query Parameters
limit
required
string

The maximum number of items to retrieve for pagination

page
required
integer

The number of the page to retrieve

Responses

Request samples

curl --request GET 
  --url 'https://api.synerise.com/schema-service/screenViews/versions/%7BscreenViewId%7D?limit=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE' 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "draft": {
    },
  • "currentlyPublished": {
    },
  • "previouslyPublished": {
    }
}

Generate screen view Deprecated

When this method is called, the Synerise backend finds all screen view campaigns applicable to the profile and returns the screen view with the highest priority (1).


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

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:

Responses

Request samples

curl --request GET 
  --url https://api.synerise.com/schema-service/screenViews/generate 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{ }

Generate screen view Deprecated

When this method is called, the Synerise backend finds all screen view campaigns applicable to the profile and returns the screen view with the highest priority (1).


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

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:

Responses

Request samples

curl --request GET 
  --url https://api.synerise.com/schema-service/v2/screenViews/generate 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "version": "string",
  • "parentVersion": "string",
  • "name": "string",
  • "priority": 99,
  • "audience": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "hash": "bb6639b2-a98e-49d9-804f-ed6c0e2a0d2f:2019-12-05T08:22:10.094",
  • "path": "/screenView",
  • "data": { }
}

Initialize screen view Deprecated

Create a new screen view campaign. It is created as a blank, without any conditions.


  • API consumer who can use this method: Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:

Responses

Request samples

curl --request POST 
  --url https://api.synerise.com/schema-service/screenViews/createNew 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "version": "string",
  • "status": "DRAFT",
  • "hash": "bb6639b2-a98e-49d9-804f-ed6c0e2a0d2f:2019-12-05T08:22:10.094",
  • "parentVersion": "string",
  • "authorId": "string",
  • "businessProfileId": 0,
  • "priority": 99,
  • "name": "string",
  • "description": "string",
  • "isActive": true,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "deletedAt": "2019-08-24T14:15:22Z"
}

Copy content Deprecated

Copy content to a screen view draft from another screen view.


  • API consumer who can use this method: Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
screenViewId
required
string <uuid>

UUID of the screen view

screenViewVersion
required
string

Version of the screen view

Request Body schema: application/json
screenViewId
string <uuid>

UUID of the screen view

screenViewVersion
string

Version of the screen view

Responses

Request samples

Content type
application/json
{
  • "screenViewId": "481855c5-f86e-453f-a0fa-d34b5a2be745",
  • "screenViewVersion": "string"
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "body": "string"
}

Add content Deprecated

Add content to a screen view draft.


  • API consumer who can use this method: Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
screenViewId
required
string <uuid>

UUID of the screen view

screenViewVersion
required
string

Version of the screen view

Request Body schema: application/json
required
object

JSON structure of the screen view. By default, a newly created screen view has the following json value:

"collection": "{% screenviewcollection %}"

The {% screenviewcollection %} insert is used to pick and display the documents from the documents in documents or groups.

If this insert is not used, you must manually insert each document with {% document slug%}.

documents
required
Array of strings

An array of documents. If groups is used, this array must be empty.

groups
required
Array of strings <uuid>

An array of document groups, If documents is used, this array must be empty.

groupsOrder
boolean
Default: false

By default, group are ordered for display by their priority. When this field is set to true, they are displayed according to their order in the groups array instead.

Responses

Request samples

Content type
application/json
{
  • "json": {
    },
  • "documents": [
    ],
  • "groups": [
    ],
  • "groupsOrder": false
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "body": "string"
}

Add audience Deprecated

Define the audience for a screen view draft.


  • API consumer who can use this method: Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
screenViewId
required
string <uuid>

UUID of the screen view

screenViewVersion
required
string

Version of the screen view

Request Body schema: application/json
targetType
required
string
Enum: "SEGMENT" "QUERY" "ALL"

The method of defining the audience:

  • SEGMENT sets the audience to segmentations whose UUIDs are provided in segments
  • QUERY sets the audience to an analytics query provided in query
  • ALL sets the audience to all profiles in the database
segments
Array of strings

An array of segmentation IDs. Used with targetType: SEGMENT

query
string

Stringified analysis object for the segmentation analytics engine. Used with targetType: QUERY. Refer to the Analytics API Reference.

Responses

Request samples

Content type
application/json
{
  • "targetType": "SEGMENT",
  • "segments": [
    ],
  • "query": "{\"analysis\":{\"title\":\"Unnamed segmentation\",\"description\":\"\",\"unique\":true,\"segments\":[{\"title\":\"Segmentation A\",\"description\":\"\",\"filter\":{\"matching\":true,\"expressions\":[{\"_id\":\"a9b76c8e-34bd-4ac3-be8f-f37041d126bd\",\"name\":\"\",\"type\":\"FUNNEL\",\"matching\":true,\"funnel\":{\"_id\":\"5c759d73-49c6-409f-96a3-b569dff8f8ff\",\"title\":\"Unnamed\",\"completedWithin\":null,\"dateFilter\":{\"type\":\"RELATIVE\",\"offset\":{\"type\":\"DAYS\",\"value\":0},\"duration\":{\"type\":\"DAYS\",\"value\":30}},\"steps\":[{\"_id\":\"78b97ae0-1bc5-45fb-82a4-4f1280cfbdff\",\"title\":\"\",\"action\":{\"id\":944,\"name\":\"page.visit\"},\"eventName\":\"page.visit\",\"expressions\":[]}],\"exact\":false}}]}}]}}"
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "body": "string"
}

Publish screen view Deprecated

Make the screen view accessible to customers.


  • API consumer who can use this method: Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
screenViewId
required
string <uuid>

UUID of the screen view

screenViewVersion
required
string

Version of the screen view

Request Body schema: application/json
overwrite
required
boolean

Currently unused

Responses

Request samples

Content type
application/json
{
  • "overwrite": true
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "body": "string"
}

Copy draft from existing screen view Deprecated

Copy a duplicate of an active screen view. The duplicate is in draft status.


  • API consumer who can use this method: Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
Request Body schema: application/json
screenViewId
string <uuid>

UUID of the screen view

screenViewVersion
string

Version of the screen view

Responses

Request samples

Content type
application/json
{
  • "screenViewId": "481855c5-f86e-453f-a0fa-d34b5a2be745",
  • "screenViewVersion": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "version": "string",
  • "status": "DRAFT",
  • "hash": "bb6639b2-a98e-49d9-804f-ed6c0e2a0d2f:2019-12-05T08:22:10.094",
  • "parentVersion": "string",
  • "authorId": "string",
  • "businessProfileId": 0,
  • "priority": 99,
  • "name": "string",
  • "description": "string",
  • "isActive": true,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "deletedAt": "2019-08-24T14:15:22Z"
}

Create draft from existing screen view Deprecated

Create a duplicate of an active screen view. The duplicate is in draft status.


  • API consumer who can use this method: Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
Request Body schema: application/json
screenViewId
string <uuid>

UUID of the screen view

screenViewVersion
string

Version of the screen view

Responses

Request samples

Content type
application/json
{
  • "screenViewId": "481855c5-f86e-453f-a0fa-d34b5a2be745",
  • "screenViewVersion": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "version": "string",
  • "status": "DRAFT",
  • "hash": "bb6639b2-a98e-49d9-804f-ed6c0e2a0d2f:2019-12-05T08:22:10.094",
  • "parentVersion": "string",
  • "authorId": "string",
  • "businessProfileId": 0,
  • "priority": 99,
  • "name": "string",
  • "description": "string",
  • "isActive": true,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "deletedAt": "2019-08-24T14:15:22Z"
}

Update screen view description Deprecated

Update the description of a screen view. You can update the descriptions of active screen views.


  • API consumer who can use this method: Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
screenViewId
required
string <uuid>

UUID of the screen view

screenViewVersion
required
string

Version of the screen view

Request Body schema: application/json
string (update screenview description)

New description of the screen view

Responses

Request samples

Content type
application/json
"string"

Response samples

Content type
application/json
{
  • "status": "string",
  • "body": "string"
}

Update screen view priority Deprecated

Update the priority of a screen view. You can update the priorities of active screen views.


  • API consumer who can use this method: Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
screenViewId
required
string <uuid>

UUID of the screen view

screenViewVersion
required
string

Version of the screen view

Request Body schema: application/json
integer (update screenview priority)

New priority of the screen view

Responses

Request samples

Content type
application/json
0

Response samples

Content type
application/json
{
  • "status": "string",
  • "body": "string"
}

Discard changes Deprecated

Discard the changes made in a version of a screen view.


  • API consumer who can use this method: Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_CREATE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
screenViewId
required
string <uuid>

UUID of the screen view

screenViewVersion
required
string

Version of the screen view

Responses

Request samples

curl --request POST 
  --url https://api.synerise.com/schema-service/screenViews/discardChanges/%7BscreenViewId%7D/%7BscreenViewVersion%7D 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "version": "string",
  • "parentVersion": "string",
  • "businessProfileId": 0,
  • "name": "string",
  • "description": "string",
  • "status": "DRAFT",
  • "priority": 99,
  • "scheduled": true,
  • "author": {
    },
  • "content": {
    },
  • "audience": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "deletedAt": "2019-08-24T14:15:22Z",
  • "directory": {
    },
  • "feed": {
    }
}

Delete screen view Deprecated

Delete a screen view and all its versions. This operation is irreversible.


  • API consumer who can use this method: Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_DELETE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
screenViewId
required
string <uuid>

UUID of the screen view

Responses

Request samples

curl --request DELETE 
  --url https://api.synerise.com/schema-service/screenViews/delete/%7BscreenViewId%7D 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "status": "string",
  • "body": "string"
}

Delete screen view version Deprecated

Delete a version of a screen view.


  • API consumer who can use this method: Synerise User

  • API key Permissions are assigned to API keys (for Profile and Workspace scopes) and dictate which operations are available when using a particular API key. In the application, you can manage those permissions in Settings > API Keys. Remember that Profile and Workspace API keys are separate entities.permission required: SCHEMA_SERVICE_SCHEMA_DELETE

  • User permissions are grouped and assigned to user roles. For each group, you can set separate permissions for the following operations: read, execute, create, edit, delete. In the application, they are available in Settings > Roles. To edit a role's permissions, hover over the role and click the "Permissions" button.User role permission group which allows access to this method: ASSETS_DOCS

Authorizations:
path Parameters
screenViewId
required
string <uuid>

UUID of the screen view

screenViewVersion
required
string

Version of the screen view

Responses

Request samples

curl --request DELETE 
  --url https://api.synerise.com/schema-service/screenViews/single/delete/%7BscreenViewId%7D/%7BscreenViewVersion%7D 
  --header 'Authorization: Bearer _YOUR_JWT_TOKEN_'

Response samples

Content type
application/json
{
  • "status": "string",
  • "body": "string"
}