Asset Management — API Reference

Manage resources used across the system

161 endpoints across 8 tags.

Documents

GET /schema-service/v2/documents/{slug}/generate — Generate document (slug)

/api-reference/asset-management#tag/Documents/operation/generateDocumentBySlugGet

Generate a document. Inserts are processed. If an insert can't be processed, the returned content is empty.

If the document includes inserts with a context (for example, {% customer param %}), you must authenticate the request with a JWT that provides the context.

If you want to authenticate with a JWT that doesn't provide the required context, you can use the POST /v2/documents/{slug}/generate endpoint to provide the parameter values in the request body.

IMPORTANT: When the request's context is a Workspace or Synerise User JWT, only documents with the audience set to ALL ("Everyone" in the Synerise Web Application) can be generated.


API consumers: Workspace (Business Profile), Synerise User, Profile (Client), Anonymous Profile, Incognito Profile

API key permission required: SCHEMA_SERVICE_SCHEMA_READ

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
slugpathstringrequiredSlug of the document

Responses

StatusDescription
200 application/jsonProcessed JSON content
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/schema-service/v2/documents/%7Bslug%7D/generate \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /schema-service/v2/documents/{slug}/generate — Generate document (slug)

/api-reference/asset-management#tag/Documents/operation/generateDocumentBySlug

Generate a document. Inserts are processed. If an insert can't be processed, the returned content is empty.

IMPORTANT: When the request's context is a Workspace or Synerise User JWT, only documents with the audience set to ALL ("Everyone" in the Synerise Web Application) can be generated.


API consumers: Workspace (Business Profile), Synerise User, Profile (Client), Anonymous Profile, Incognito Profile

API key permission required: SCHEMA_SERVICE_SCHEMA_READ

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
slugpathstringrequiredSlug of the document

Request body

application/json · object

Responses

StatusDescription
200 application/jsonProcessed JSON content
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/documents/%7Bslug%7D/generate \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"customer.firstName":"Joe"}'

POST /schema-service/v2/documents/{documentId}/generate — Generate document (document UUID)

/api-reference/asset-management#tag/Documents/operation/generateDocumentByIdPost

Generate a document. Inserts are processed. If an insert can't be processed, the returned content is empty.

IMPORTANT: When the request's context is a Workspace or Synerise User JWT, only documents with the audience set to ALL ("Everyone" in the Synerise Web Application) can be generated.


API consumers: Workspace (Business Profile), Synerise User, Profile (Client), Anonymous Profile

API key permission required: SCHEMA_SERVICE_SCHEMA_READ

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
documentIdpathstringrequiredUUID of the document

Request body

application/json · object

Responses

StatusDescription
200 application/jsonProcessed document
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/documents/%7BdocumentId%7D/generate \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"customer.firstName":"Joe"}'

POST /schema-service/v2/documents/create — Create document

/api-reference/asset-management#tag/Documents/operation/createDocumentPost

Create a new document.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Request body

application/json · schema-service-CreateDocumentRequest

FieldTypeRequiredDescription
namestringrequiredDocument name
priorityintegerrequiredPriority of the document
contentrequiredContent of the document. It can contain inserts.
slugstringrequiredSlug of the document
schemastringoptionalSchema of the document (called "Type" in the Synerise Web Application)
groupIdstringoptionalUUID of a document group. Groups can be used to organize documents. When creating a screen view campaign, entire groups can be included instead of selecting each document separately.
audienceobjectrequiredThe profiles (clients) which have access to this resource
scheduleobjectoptionalConfiguration of the schedule
directoryIdstringrequiredUUID 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.

Responses

StatusDescription
200 application/jsonDocument created
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/documents/create \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"name":"string","priority":100,"content":{"someBoolean":true,"someString":"Lorem ipsum","aNestedDocument":"{% document exampleslug %}"},"slug":"basket","schema":"containers","groupId":"eb54e96e-21b8-4f54-9cd4-80fccbd06f55","audience":{"targetType":"SEGMENT","segments":["string"],"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}}]}}]}}"},"schedule":{"enabled":true,"endDate":"2019-08-24T14:15:22Z","endType":"NEVER","parts":[{"startDay":1,"startTime":"08:18:03","endDay":1,"endTime":44283}],"periodType":"ENTIRE","startDate":"2019-08-24T14:15:22Z","startType":"NOW","timezone":"Europe/Warsaw"},"directoryId":"786c2ec1-fb9a-4593-b705-005b34c18c18"}'

POST /schema-service/v2/documents/createNew — Initialize document

/api-reference/asset-management#tag/Documents/operation/initializeDocumentPost

Create a new document. It is created as a blank, without any conditions.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Request body (required)

application/json · schema-service-CreateRequest

FieldTypeRequiredDescription
namestringoptionalIf no name is provided, defaults to "Unnamed document" or Screen View Campaign" (depending on what you are initializing).
directorystringoptionalIf no directory is provided, the default directory is used.

Responses

StatusDescription
200 application/jsonDocument initialized
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/documents/createNew \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"name":"string","directory":"5277859d-f92c-478c-acab-7680a97fea68"}'

POST /schema-service/v2/documents/{documentId}/audience — Add audience to document

/api-reference/asset-management#tag/Documents/operation/createDocumentAudience

Define the audience for a document.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
documentIdpathstringrequiredUUID of the document

Request body

application/json · schema-service-Audience

FieldTypeRequiredDescription
targetTypeenum<"SEGMENT", "QUERY", "ALL">requiredThe 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
segmentsarray<string>optionalAn array of segmentation IDs. Used with targetType: SEGMENT
querystringoptionalStringified analysis object for the segmentation analytics engine. Used with targetType: QUERY. Refer to the Analytics API Reference.

Responses

StatusDescription
200 application/jsonAudience defined
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/documents/%7BdocumentId%7D/audience \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"targetType":"SEGMENT","segments":["string"],"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}}]}}]}}"}'

POST /schema-service/v2/documents/{documentId}/content — Add content to document

/api-reference/asset-management#tag/Documents/operation/createDocumentContent

Add content and configuration (priority, schema, and so on) to a document.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
documentIdpathstringrequiredUUID of the document

Request body

application/json · schema-service-DocumentContent

FieldTypeRequiredDescription
priorityintegerrequiredPriority of the document
contentobjectrequiredJSON structure of the document
slugstringrequiredSlug of the document
schemastringrequiredSchema of the document (called "Type" in the Synerise Web Application)
groupIdstringoptionalUUID of the group

Responses

StatusDescription
200 application/jsonContent added
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/documents/%7BdocumentId%7D/content \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"priority":100,"content":{"property1":null,"property2":null},"slug":"basket","schema":"containers","groupId":"43c97b25-4a10-45d0-99b7-d472eea2bb24"}'

PUT /schema-service/v2/documents/{documentId}/name — Rename document

/api-reference/asset-management#tag/Documents/operation/updateDocumentName

Rename a document.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
documentIdpathstringrequiredUUID of the document

Request body

application/json · string

Responses

StatusDescription
200 application/jsonDocument renamed
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request PUT \
  --url https://api.synerise.com/schema-service/v2/documents/%7BdocumentId%7D/name \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '"string"'

PUT /schema-service/v2/documents/{documentId}/priority — Update priority in document

/api-reference/asset-management#tag/Documents/operation/updateDocumentPriority

Update priority in a document.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
documentIdpathstringrequiredUUID of the document

Request body

application/json · integer

Responses

StatusDescription
200 application/jsonPriority changed
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request PUT \
  --url https://api.synerise.com/schema-service/v2/documents/%7BdocumentId%7D/priority \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data 0

POST /schema-service/v2/documents/preview/by/{identifierType} — Preview document content for a profile

/api-reference/asset-management#tag/Documents/operation/previewDocumentByIdentifierPost

Preview document content in context of a profile. Inserts are processed. If an insert can't be processed, the returned content is empty.

This method should not be used in production implementations, its purpose is to test the content. Use the "generate document" endpoints for implementation.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_READ

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
identifierTypepathenum<"id", "uuid", "email", "custom_identify">requiredType of the profile identifier. The value is sent in identifierValue in the request body.

Request body

application/json · schema-service-PreviewDocumentByProfile

FieldTypeRequiredDescription
identifierValuestringrequiredValue of the profile identifier selected in identifierType (profile ID is sent as a string)
contentrequiredContent of the document. It can contain inserts.
paramsobjectoptionalAdditional parameters

Responses

StatusDescription
200 application/jsonProcessed document
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/documents/preview/by/%7BidentifierType%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"identifierValue":"string","content":{"someBoolean":true,"someString":"Lorem ipsum","aNestedDocument":"{% document exampleslug %}"},"params":{"property1":"string","property2":"string"}}'

POST /schema-service/v2/documents/{documentIdentifier}/generate/by/{identifierType} — Generate document for a profile

/api-reference/asset-management#tag/Documents/operation/generateDocumentWithProfileContextPost

Generate a document in context of a profile. Inserts are processed. If an insert can't be processed, the returned content is empty.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_READ

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
documentIdentifierpathstringrequiredUUID or slug of the document
identifierTypepathenum<"id", "uuid", "email", "custom_identify">requiredType of the profile identifier. The value is sent in identifierValue in the request body.

Request body

application/json · schema-service-generateDocumentWithIdReq

FieldTypeRequiredDescription
identifierValuestringrequiredValue of the profile identifier selected in identifierType (profile ID is sent as a string)
paramsobjectoptionalAdditional parameters

Responses

StatusDescription
200 application/jsonProcessed document
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/documents/%7BdocumentIdentifier%7D/generate/by/%7BidentifierType%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"identifierValue":"string","params":{"property1":"string","property2":"string"}}'

POST /schema-service/v2/documents/preview/grouped-by/groups/list — List grouped documents

/api-reference/asset-management#tag/Documents/operation/previewListOfDocumentsGroupedByGroup

Retrieve a group or groups of documents with information about the documents in those groups and relations between them. The response is an array of arrays (groups) of objects (documents).


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_READ

User role permission required: assets_docs: read

Request body

application/json · array<schema-service-groupUuid>

Responses

StatusDescription
200 application/jsonList of document groups
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/documents/preview/grouped-by/groups/list \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '["497f6eca-6276-4993-bfeb-53cbbbba6f08"]'

GET /schema-service/v2/documents — List documents

/api-reference/asset-management#tag/Documents/operation/documents-list

Returns a paginated list of documents.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_READ

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
pagequerynumberoptional
limitquerynumberoptionalLimit of items per page
searchquerystringoptionalA string to search for in resource names
directoryIdquerystringoptionalUUID of the directory for filtering the results
groupIdquerystringoptionalUUID of the document group for filtering the results
statusqueryenum<"DRAFT", "ACTIVE", "SCHEDULED", "PAUSED", …>optional
schemaquerystringoptionalName of the document schema (type) for filtering the results

Responses

StatusDescription
200 application/jsonList of documents
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request GET \
  --url 'https://api.synerise.com/schema-service/v2/documents?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE&search=SOME_STRING_VALUE&directoryId=SOME_STRING_VALUE&groupId=SOME_STRING_VALUE&status=SOME_STRING_VALUE&schema=SOME_STRING_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /schema-service/v2/documents/preview/list — List documents from groups

/api-reference/asset-management#tag/Documents/operation/previewListOfDocumentsByGroup

Retrieve a list of documents from a group or groups. The response includes information about relations between documents. The response is an array of objects (documents) without sorting them by group.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_READ

User role permission required: assets_docs: read

Request body

application/json · array<schema-service-groupUuid>

Responses

StatusDescription
200 application/jsonList of documents from the requested groups, without sorting into groups
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/documents/preview/list \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '["497f6eca-6276-4993-bfeb-53cbbbba6f08"]'

GET /schema-service/v2/documents/{slug} — Get document by slug

/api-reference/asset-management#tag/Documents/operation/get-document-by-slug

Retrieve a document and its metadata. The content isn't processed.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_READ

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
slugpathstringrequiredSlug of the document

Responses

StatusDescription
200 application/jsonDetails of the document (content isn't processed)
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/schema-service/v2/documents/%7Bslug%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /schema-service/v2/documents/by/slug/{slug}/predecessors — Get predecessors for document

/api-reference/asset-management#tag/Documents/operation/document-predecessors-by-slug-get

Retrieve information about documents or screen views that refer to the requested document.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_READ

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
slugpathstringrequiredSlug of the document

Responses

StatusDescription
200 application/jsonDocuments which refer to the requested document
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/schema-service/v2/documents/by/slug/%7Bslug%7D/predecessors \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /schema-service/v2/documents/{documentId}/predecessors — Get predecessors for document

/api-reference/asset-management#tag/Documents/operation/document-predecessors-get

Retrieve information about documents or screen views that refer to the requested document.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_READ

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
documentIdpathstringrequiredUUID of the document

Responses

StatusDescription
200 application/jsonDocuments which refer to the requested document
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/schema-service/v2/documents/%7BdocumentId%7D/predecessors \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /schema-service/v2/documents/by/slug/{slug}/successors — Get successors for document

/api-reference/asset-management#tag/Documents/operation/document-successors-by-slug-get

Retrieve information about documents referenced from the requested document.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_READ

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
slugpathstringrequiredSlug of the document

Responses

StatusDescription
200 application/jsonDocuments referenced from the requested document
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/schema-service/v2/documents/by/slug/%7Bslug%7D/successors \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /schema-service/v2/documents/{documentId}/successors — Get successors for document

/api-reference/asset-management#tag/Documents/operation/document-successors-get

Retrieve information about documents referenced from the requested document.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_READ

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
documentIdpathstringrequiredUUID of the document

Responses

StatusDescription
200 application/jsonDocuments referenced from the requested document
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/schema-service/v2/documents/%7BdocumentId%7D/successors \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /schema-service/v2/documents/{documentId} — Get document by UUID

/api-reference/asset-management#tag/Documents/operation/get-document

Retrieve a document and its metadata. The content isn't processed.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
documentIdpathstringrequiredUUID of the document

Responses

StatusDescription
200 application/jsonDetails of the document (content isn't processed)
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/schema-service/v2/documents/%7BdocumentId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /schema-service/v2/documents/{documentId} — Update document

/api-reference/asset-management#tag/Documents/operation/updateDocumentPost

Update a document.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
documentIdpathstringrequiredUUID of the document

Request body

application/json · schema-service-UpdateDocumentRequest

FieldTypeRequiredDescription
namestringoptionalName of the document
priorityintegeroptionalPriority of the document
contentoptionalContent of the document. It can contain inserts.
schemastringoptionalSchema of the document (called "Type" in the Synerise Web Application)
groupIdstringoptionalUUID of the group
audienceobjectoptionalThe profiles (clients) which have access to this resource
scheduleobjectoptionalConfiguration of the schedule
directoryIdstringoptionalUUID 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.

Responses

StatusDescription
200 application/jsonUpdated document
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/documents/%7BdocumentId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"name":"string","priority":100,"content":{"someBoolean":true,"someString":"Lorem ipsum","aNestedDocument":"{% document exampleslug %}"},"schema":"containers","groupId":"43c97b25-4a10-45d0-99b7-d472eea2bb24","audience":{"targetType":"SEGMENT","segments":["string"],"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}}]}}]}}"},"schedule":{"enabled":true,"endDate":"2019-08-24T14:15:22Z","endType":"NEVER","parts":[{"startDay":1,"startTime":"08:18:03","endDay":1,"endTime":44283}],"periodType":"ENTIRE","startDate":"2019-08-24T14:15:22Z","startType":"NOW","timezone":"Europe/Warsaw"},"directoryId":"786c2ec1-fb9a-4593-b705-005b34c18c18"}'

DELETE /schema-service/v2/documents/{documentId} — Delete document

/api-reference/asset-management#tag/Documents/operation/delete-document

Delete a document. This operation is irreversible.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_DELETE

User role permission required: assets_docs: delete

Parameters

NameInTypeRequiredDescription
documentIdpathstringrequiredUUID of the document

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request DELETE \
  --url https://api.synerise.com/schema-service/v2/documents/%7BdocumentId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /schema-service/v2/documents/{documentId}/copy — Copy document

/api-reference/asset-management#tag/Documents/operation/copy-document

Copy a document.The copy receives the DRAFT status, regardless of the status of the original document.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
documentIdpathstringrequiredUUID of the document

Responses

StatusDescription
200 application/jsonData of the created copy
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/documents/%7BdocumentId%7D/copy \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /schema-service/v2/documents/{documentId}/directory/{directoryId}/attach — Assign document to directory

/api-reference/asset-management#tag/Documents/operation/attach-document-to-directory

Assign a document to a directory. A document can only belong to one directory and using this endpoint overwrites the current assignment.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_DELETE

User role permission required: assets_docs: delete

Parameters

NameInTypeRequiredDescription
documentIdpathstringrequiredUUID of the document
directoryIdpathstringrequiredUUID of the directory

Responses

StatusDescription
200 application/jsonDocument assigned to directory
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/documents/%7BdocumentId%7D/directory/%7BdirectoryId%7D/attach \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /schema-service/v2/documents/directory/{directoryId} — Rename document directory

/api-reference/asset-management#tag/Documents/operation/documents-update-name-directory

Update a document directory name.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_DELETE

User role permission required: assets_docs: delete

Parameters

NameInTypeRequiredDescription
directoryIdpathstringrequiredUUID of the directory

Request body

application/json · schema-service-RenameDirectory

FieldTypeRequiredDescription
namestringrequiredNew name for the directory

Responses

StatusDescription
200 application/jsonDirectory renamed
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/documents/directory/%7BdirectoryId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"name":"string"}'

DELETE /schema-service/v2/documents/directory/{directoryId} — Delete document directory

/api-reference/asset-management#tag/Documents/operation/documents-delete-directory

Delete a directory. The contents are moved into the default directory.


API consumer: Synerise User

User role permission required: assets_docs: delete

Parameters

NameInTypeRequiredDescription
directoryIdpathstringrequiredUUID of the directory

Responses

StatusDescription
200 application/jsonDirectory deleted
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request DELETE \
  --url https://api.synerise.com/schema-service/v2/documents/directory/%7BdirectoryId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /schema-service/v2/documents/directory — List document directories

/api-reference/asset-management#tag/Documents/operation/documents-directory-list

Returns a list of directories.


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: SCHEMA_SERVICE_SCHEMA_READ

User role permission required: assets_docs: read

Responses

StatusDescription
200 application/jsonList of directories
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/schema-service/v2/documents/directory \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /schema-service/v2/documents/directory — Add document directory

/api-reference/asset-management#tag/Documents/operation/documents-add-directory


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Request body

application/json · schema-service-NewDirectory

FieldTypeRequiredDescription
namestringrequiredName of the directory

Responses

StatusDescription
200 application/jsonDirectory created
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/documents/directory \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"name":"string"}'

DELETE /schema-service/v2/groups/{groupId} — Delete document group

/api-reference/asset-management#tag/Documents/operation/deleteGroup

Delete a document group. The documents that were in this group are no longer assigned to any group.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_DELETE

User role permission required: assets_docs: delete

Parameters

NameInTypeRequiredDescription
groupIdpathstringrequired

Responses

StatusDescription
200 application/jsonSuccess, details of the deleted group are returned in the response
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request DELETE \
  --url https://api.synerise.com/schema-service/v2/groups/%7BgroupId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /schema-service/v2/groups — List groups

/api-reference/asset-management#tag/Documents/operation/groups-list

Returns a list of groups.


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Responses

StatusDescription
200 application/jsonList of groups
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/schema-service/v2/groups \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /schema-service/v2/groups — Add group

/api-reference/asset-management#tag/Documents/operation/addGroup

Create a new document group.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Request body

application/json · object

FieldTypeRequiredDescription
namestringrequiredName of the group

Responses

StatusDescription
200 application/jsonCreated group
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/groups \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"name":"string"}'

POST /schema-service/v2/documents/{documentId}/status/finish — Finish document

/api-reference/asset-management#tag/Documents/operation/finishDocument

Finish a document.

Finished documents are no longer displayed to recipients.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
documentIdpathstringrequiredUUID of the document

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/documents/%7BdocumentId%7D/status/finish \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /schema-service/v2/documents/{documentId}/status/activate — Activate document

/api-reference/asset-management#tag/Documents/operation/activateDocument

Activate a document. It can now be displayed to recipients.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
documentIdpathstringrequiredUUID of the document

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/documents/%7BdocumentId%7D/status/activate \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /schema-service/v2/documents/{documentId}/status/resume — Resume document

/api-reference/asset-management#tag/Documents/operation/resumeDocument

Resume a document that was paused.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
documentIdpathstringrequiredUUID of the document

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/documents/%7BdocumentId%7D/status/resume \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /schema-service/v2/documents/{documentId}/status/pause — Pause document

/api-reference/asset-management#tag/Documents/operation/pauseDocument

Pause a document to temporarily stop displaying it to recipients


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
documentIdpathstringrequiredUUID of the document

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/documents/%7BdocumentId%7D/status/pause \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /schema-service/schemaTypes — Get schema types

/api-reference/asset-management#tag/Documents/operation/getSchemaTypes

Retrieve a list of all schema types in the workspace. Schema types can be used to inform your application about the type of content included in the document's body.
In the Synerise Web Application, they are called "Type".


API consumer: Synerise User

User role permission required: assets_docs: read

Responses

StatusDescription
200 application/jsonList of schema types
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/schema-service/schemaTypes \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /schema-service/schemaTypes — Add schema type

/api-reference/asset-management#tag/Documents/operation/addSchemaType

Create a new schema type.
Schema types can be used to inform your application about the type of content included in the document's body.
In the Synerise Web Application, they are called "Type".


API consumer: Synerise User

User role permission required: assets_docs: create

Request body (required)

application/json · string

Responses

StatusDescription
200 application/jsonSchema created
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/schemaTypes \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '"string"'

DELETE /schema-service/schemaTypes — Delete schema types

/api-reference/asset-management#tag/Documents/operation/deleteSchemaTypes

Delete one or more schema types. This operation is irreversible.


API consumer: Synerise User

User role permission required: assets_docs: delete

Request body (required)

application/json · array<string>

Responses

StatusDescription
200 application/jsonDeletion status
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request DELETE \
  --url https://api.synerise.com/schema-service/schemaTypes \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '["string"]'

Screen views

GET /schema-service/v3/screen-views/{feedSlug}/generate — Generate screen view from feed

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/generateScreenViewByFeedGetV2

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: Workspace (Business Profile), Synerise User, Profile (Client), Anonymous Profile, Incognito Profile

API key permission required: SCHEMA_SERVICE_SCHEMA_READ

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
feedSlugpathstringrequiredSlug of the screen view feed

Responses

StatusDescription
200 application/jsonProcessed JSON content
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/schema-service/v3/screen-views/%7BfeedSlug%7D/generate \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /schema-service/v3/screen-views/{feedSlug}/generate — Generate screen view from feed

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/generateScreenViewByFeedPostV2

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: Workspace (Business Profile), Synerise User, Profile (Client), Anonymous Profile, Incognito Profile

API key permission required: SCHEMA_SERVICE_SCHEMA_READ

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
feedSlugpathstringrequiredSlug of the screen view feed

Request body

application/json · object

Responses

StatusDescription
200 application/jsonProcessed JSON content
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v3/screen-views/%7BfeedSlug%7D/generate \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"property1":"string","property2":"string"}'

POST /schema-service/screen-views/create — Create screen view

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/create-screen-view

Create a screen view.


API consumer: Synerise User

User role permission required: assets_docs: create

Request body

application/json · schema-service-CreateScreenViewRequest

FieldTypeRequiredDescription
priorityintegerrequiredPriority 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.
namestringoptionalName of the screen view
directoryIdstringrequiredUUID 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.
contentobjectrequiredContent of the screen view
audienceobjectrequiredThe profiles (clients) which have access to this resource
scheduleobjectoptionalConfiguration of the schedule
feedIdstringrequiredUUID of the feed where this screen view is assigned.

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/screen-views/create \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"priority":99,"name":"string","directoryId":"786c2ec1-fb9a-4593-b705-005b34c18c18","content":{"json":{"property1":null,"property2":null},"documents":["string"],"data":[{"slug":"basket"}],"groups":["43c97b25-4a10-45d0-99b7-d472eea2bb24"],"groupsOrder":false},"audience":{"targetType":"SEGMENT","segments":["string"],"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}}]}}]}}"},"schedule":{"enabled":true,"endDate":"2019-08-24T14:15:22Z","endType":"NEVER","parts":[{"startDay":1,"startTime":"08:18:03","endDay":1,"endTime":44283}],"periodType":"ENTIRE","startDate":"2019-08-24T14:15:22Z","startType":"NOW","timezone":"Europe/Warsaw"},"feedId":"30c3a808-1315-453b-94cf-0ccb129b558b"}'

POST /schema-service/v2/screen-views/createNew — Initialize screen view

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/create-new-screen-view

Create a screen view. It is created as a blank, without any conditions.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Request body (required)

application/json · schema-service-CreateRequest

FieldTypeRequiredDescription
namestringoptionalIf no name is provided, defaults to "Unnamed document" or Screen View Campaign" (depending on what you are initializing).
directorystringoptionalIf no directory is provided, the default directory is used.

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/screen-views/createNew \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"name":"string","directory":"5277859d-f92c-478c-acab-7680a97fea68"}'

POST /schema-service/v2/screen-views/{screenViewId}/content — Add content to screen view

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/create-screen-view-content

Add content to a screen view. This overwrites any existing content.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
screenViewIdpathstringrequiredUUID of the screen view

Request body

application/json · schema-service-ScreenViewContent

FieldTypeRequiredDescription
jsonobjectrequiredJSON 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%}.
documentsarray<string>requiredAn array of documents. If groups is used, this array must be empty.
dataarray<any>optionalAn array of documents or Brickworks records
groupsarray<schema-service-DocumentGroupId>requiredAn array of document groups, If documents is used, this array must be empty.
groupsOrderbooleanoptionalBy 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

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/screen-views/%7BscreenViewId%7D/content \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"json":{"property1":null,"property2":null},"documents":["string"],"data":[{"slug":"basket"}],"groups":["43c97b25-4a10-45d0-99b7-d472eea2bb24"],"groupsOrder":false}'

POST /schema-service/v2/screen-views/{screenViewId}/audience — Add audience to screen view

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/create-screen-view-audience

Define the audience for a screen view.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
screenViewIdpathstringrequiredUUID of the screen view

Request body

application/json · schema-service-Audience

FieldTypeRequiredDescription
targetTypeenum<"SEGMENT", "QUERY", "ALL">requiredThe 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
segmentsarray<string>optionalAn array of segmentation IDs. Used with targetType: SEGMENT
querystringoptionalStringified analysis object for the segmentation analytics engine. Used with targetType: QUERY. Refer to the Analytics API Reference.

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/screen-views/%7BscreenViewId%7D/audience \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"targetType":"SEGMENT","segments":["string"],"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}}]}}]}}"}'

PUT /schema-service/v2/screen-views/{screenViewId}/priority — Update screen view priority

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/updateScreenViewPriority

Update priority in a screen view.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
screenViewIdpathstringrequiredUUID of the screen view

Request body

application/json · schema-service-screenViewPriority

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request PUT \
  --url https://api.synerise.com/schema-service/v2/screen-views/%7BscreenViewId%7D/priority \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data 99

PUT /schema-service/v2/screen-views/{screenViewId}/name — Rename screen view

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/updateNameOfScreenView

Update the name of a screen view. You can update the names of active screen views.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
screenViewIdpathstringrequiredUUID of the screen view

Request body (required)

application/json · string

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request PUT \
  --url https://api.synerise.com/schema-service/v2/screen-views/%7BscreenViewId%7D/name \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '"string"'

POST /schema-service/v2/screen-views/{feedSlug}/generate/by/{identifierType} — Preview screen view with a profile context

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/generateScreenViewByIdentifierPostV2

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: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_READ

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
feedSlugpathstringrequiredSlug of the screen view feed
identifierTypepathenum<"id", "uuid", "email", "custom_identify">requiredType of the profile identifier. The value is sent in identifierValue in the request body.

Request body

application/json · object

FieldTypeRequiredDescription
identifierValuestringrequiredValue of the profile identifier selected in identifierType (profile ID is sent as a string)
paramsobjectoptionalAdditional parameters

Responses

StatusDescription
200 application/jsonProcessed JSON content
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/screen-views/%7BfeedSlug%7D/generate/by/%7BidentifierType%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"identifierValue":"string","params":{"property1":"string","property2":"string"}}'

GET /schema-service/v2/screen-views/feeds — List screen view feeds

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/feed-list

Returns a list of screen view feeds.


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Responses

StatusDescription
200 application/jsonList of feeds
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/schema-service/v2/screen-views/feeds \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /schema-service/v2/screen-views/feeds — Create screen view feed

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/add-feed

Create a new screen view feed.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Request body

application/json · schema-service-ScreenViewFeed

FieldTypeRequiredDescription
slugstringrequiredUnique slug of the screen view feed
namestringrequiredName of the screen view feed

Responses

StatusDescription
200 application/jsonFeed created
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/screen-views/feeds \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"slug":"string","name":"string"}'

GET /schema-service/v2/screen-views — List screen views

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/screen-views-list

Returns a paginated list of screen views.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
pagequerynumberoptional
limitquerynumberoptionalLimit of items per page
searchquerystringoptionalA string to search for in resource names
directoryIdquerystringoptionalUUID of the directory for filtering the results
statusqueryenum<"DRAFT", "ACTIVE", "SCHEDULED", "PAUSED", …>optional
feedIdquerystringoptional

Responses

StatusDescription
200 application/jsonList of screen views
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

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 REPLACE_BEARER_TOKEN'

GET /schema-service/v2/screen-views/{screenViewId} — Get screen view

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/get-screen-view

Retrieve the details of a screen view.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_READ

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
screenViewIdpathstringrequiredUUID of the screen view

Responses

StatusDescription
200 application/jsonDetails of the screen view
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/schema-service/v2/screen-views/%7BscreenViewId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

DELETE /schema-service/v2/screen-views/{screenViewId} — Delete screen view

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/delete-screen-view

Delete a screen view.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_DELETE

User role permission required: assets_docs: delete

Parameters

NameInTypeRequiredDescription
screenViewIdpathstringrequiredUUID of the screen view

Responses

StatusDescription
200 application/jsonScreen view deleted
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request DELETE \
  --url https://api.synerise.com/schema-service/v2/screen-views/%7BscreenViewId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /schema-service/v2/screen-views/{screenViewId}/copy — Copy screen view

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/copy-screen-view

Copy a screen view. The copy receives the DRAFT status, regardless of the status of the original screen view.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
screenViewIdpathstringrequiredUUID of the screen view

Responses

StatusDescription
200 application/jsonData of the created copy
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/screen-views/%7BscreenViewId%7D/copy \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /schema-service/v2/screen-views/{screenViewId}/predecessors — Get predecessors for screen view

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/screenview-predecessors-get

Retrieve information about documents or screen views that refer to the requested screen view.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_READ

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
screenViewIdpathstringrequiredUUID of the screen view

Responses

StatusDescription
200 application/jsonEntities which refer to the requested screen view
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/schema-service/v2/screen-views/%7BscreenViewId%7D/predecessors \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /schema-service/v2/screen-views/{screenViewId}/successors — Get successors for screen view

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/screenview-successors-get

Retrieve information about documents referenced from the requested screen view.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_READ

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
screenViewIdpathstringrequiredUUID of the screen view

Responses

StatusDescription
200 application/jsonDocuments referenced from the requested screen view
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/schema-service/v2/screen-views/%7BscreenViewId%7D/successors \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /schema-service/v2/screen-views/directory — List screen view directories

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/directory-list

Returns a list of screen view directories.


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Responses

StatusDescription
200 application/jsonList of directories
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/schema-service/v2/screen-views/directory \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /schema-service/v2/screen-views/directory — Add screen view directory

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/add-directory

Create a directory for screen views.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Request body

application/json · schema-service-NewDirectory

FieldTypeRequiredDescription
namestringrequiredName of the directory

Responses

StatusDescription
200 application/jsonDirectory created
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/screen-views/directory \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"name":"string"}'

POST /schema-service/v2/screen-views/directory/{directoryId} — Rename screen view directory

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/update-name-directory

Update the name of a screen view directory.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_DELETE

User role permission required: assets_docs: delete

Parameters

NameInTypeRequiredDescription
directoryIdpathstringrequiredUUID of the directory

Request body

application/json · object

FieldTypeRequiredDescription
namestringrequired

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/screen-views/directory/%7BdirectoryId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"name":"string"}'

DELETE /schema-service/v2/screen-views/directory/{directoryId} — Delete screen view directory

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/deleteDirectory

Delete a screen view directory. The contents are moved into the default directory.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_DELETE

User role permission required: assets_docs: delete

Parameters

NameInTypeRequiredDescription
directoryIdpathstringrequiredUUID of the directory

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request DELETE \
  --url https://api.synerise.com/schema-service/v2/screen-views/directory/%7BdirectoryId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /schema-service/v2/screen-views/{screenViewId}/directory/{directoryId}/attach — Assign screen view to directory

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/attach-screen-views-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: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_DELETE

User role permission required: assets_docs: delete

Parameters

NameInTypeRequiredDescription
screenViewIdpathstringrequiredUUID of the screen view
directoryIdpathstringrequiredUUID of the directory

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/screen-views/%7BscreenViewId%7D/directory/%7BdirectoryId%7D/attach \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /schema-service/v2/screen-views/{screenViewId}/feed — Assign screen view to feed

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/create-screen-view-feed

Assign a screen view to a feed.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
screenViewIdpathstringrequiredUUID of the screen view

Request body

application/json · string

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/screen-views/%7BscreenViewId%7D/feed \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '"497f6eca-6276-4993-bfeb-53cbbbba6f08"'

POST /schema-service/v2/screen-views/feeds/{feedId} — Rename screen view feed

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/update-name-feed

Update the name of a screen view feed.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
feedIdpathstringrequiredUUID of a screen view feed

Request body

application/json · object

FieldTypeRequiredDescription
namestringrequiredNew name of the feed

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/screen-views/feeds/%7BfeedId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"name":"string"}'

DELETE /schema-service/v2/screen-views/feeds/{feedId} — Delete screen view feed

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/deleteFeed

Delete a screen view feed. The screen views currently in this feed are moved to the default feed.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_DELETE

User role permission required: assets_docs: delete

Parameters

NameInTypeRequiredDescription
feedIdpathstringrequiredUUID of a screen view feed

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request DELETE \
  --url https://api.synerise.com/schema-service/v2/screen-views/feeds/%7BfeedId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /schema-service/scheduler/entry — Schedule object

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/schedule-object

Add a schedule to a document or screen view.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Request body

application/json · schema-service-SchedulerRequest

FieldTypeRequiredDescription
externalIdstringoptionalUUID of the screen view or document that the schedule applies to
typeenum<"SCREENVIEW", "DOCUMENT">optionalType of the scheduled object
scheduleobjectoptionalConfiguration of the schedule

Responses

StatusDescription
200 application/jsonSchedule added
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/scheduler/entry \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"externalId":"3200d382-adfe-4314-ab30-798cdd0fcdb5","type":"SCREENVIEW","schedule":{"enabled":true,"endDate":"2019-08-24T14:15:22Z","endType":"NEVER","parts":[{"startDay":1,"startTime":"08:18:03","endDay":1,"endTime":44283}],"periodType":"ENTIRE","startDate":"2019-08-24T14:15:22Z","startType":"NOW","timezone":"Europe/Warsaw"}}'

GET /schema-service/scheduler/entry/{objectType}/{objectId} — Get schedule the schedule of an object

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/getschedule-object

Get schedule object.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
objectIdpathstringrequiredScreen view or document ID
objectTypepathenum<"SCREENVIEW", "DOCUMENT">requiredObject type

Responses

StatusDescription
200 application/jsonSchedule details
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonObject has no schedule; or an exception occurred.

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/schema-service/scheduler/entry/%7BobjectType%7D/%7BobjectId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /schema-service/v2/screen-views/{screenViewId}/status/finish — Finish screen view

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/finish-screen-view

Finish a screen view. A finished document is no longer displayed.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
screenViewIdpathstringrequiredUUID of the screen view

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/screen-views/%7BscreenViewId%7D/status/finish \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /schema-service/v2/screen-views/{screenViewId}/status/resume — Resume screen view

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/resume-screen-view

Resume a screen view that was paused.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
screenViewIdpathstringrequiredUUID of the screen view

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/screen-views/%7BscreenViewId%7D/status/resume \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /schema-service/v2/screen-views/{screenViewId}/status/activate — Activate screen view

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/activate-screen-view

Activate a screen view. It can be displayed to customers.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
screenViewIdpathstringrequiredUUID of the screen view

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/screen-views/%7BscreenViewId%7D/status/activate \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /schema-service/v2/screen-views/{screenViewId}/status/pause — Pause screen view

/api-reference/loyalty-and-engagement#tag/Screen-views/operation/pause-screen-view

Pause a screen view. Until resumed, it can't be displayed to customers.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
screenViewIdpathstringrequiredUUID of the screen view

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/v2/screen-views/%7BscreenViewId%7D/status/pause \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

Catalogs

GET /catalogs/bags/{catalogId}/csv — Get all items as CSV file

/api-reference/data-management#tag/Catalogs/operation/getItemsCSV

Download a CSV with all items in the catalog. The unique identifier of an item is saved in the item_key column.


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: CATALOGS_CATALOG_READ

User role permission required: assets_catalogs: read

Parameters

NameInTypeRequiredDescription
catalogIdpathintegerrequiredID of the catalog
delimiterquerystringoptionalThe delimiter to use in csv. You can use ; or ,. Default: ,

Responses

StatusDescription
200 text/csvCSV file. The unique identifier of an item is in the item_key column.
401 application/jsonUnauthorized: token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden: insufficient permissions; wrong consumer scope
404 text/plainEntity not found

Example request (cURL)

curl --request GET \
  --url 'https://api.synerise.com/catalogs/bags/%7BcatalogId%7D/csv?delimiter=SOME_STRING_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /catalogs/bags/{catalogId}/items/upload — Add items from CSV

/api-reference/data-management#tag/Catalogs/operation/uploadItems

Upload items to a catalog from a CSV file


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: CATALOGS_CATALOG_UPDATE

User role permission required: assets_catalogs: update

Parameters

NameInTypeRequiredDescription
catalogIdpathintegerrequiredID of the catalog

Request body

multipart/form-data · object

FieldTypeRequiredDescription
itemKeystringrequiredThe name of the CSV column that contains unique identifiers. Slashes (/) are not allowed in the identifier values.
filestringrequiredCSV file

Responses

StatusDescription
200 application/jsonUpload status
400 text/plainInvalid or insufficient data
401 application/jsonUnauthorized: token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden: insufficient permissions; wrong consumer scope
404 text/plainEntity not found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/catalogs/bags/%7BcatalogId%7D/items/upload \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: multipart/form-data' \
  --form itemKey=string \
  --form file=string

GET /catalogs/bags — Get catalogs

/api-reference/data-management#tag/Catalogs/operation/getBags

Retrieve all catalogs from the Workspace. You can filter and sort the results.


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: CATALOGS_CATALOG_READ

User role permission required: assets_catalogs: read

Parameters

NameInTypeRequiredDescription
searchByquerystringoptionalA search string. You can search the catalogs by their name or the first or last name of the author.
orderByqueryenum<"id", "author", "lastModified", "creationDate">optionalThe parameter to order the results by. Order is always ascending.
offsetqueryintegeroptionalThe offset for the search. For example, if your limit is 10 and you want to retrieve the third page of items, set the offset to 20. Items with indexes 20 to 29 are returned (the first item on the first page has the index 0).
limitqueryintegeroptionalThe maximum number of items to include in the response. offset must be defined. Default: 100

Responses

StatusDescription
200 application/jsonList of catalogs
401 application/jsonUnauthorized: token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden: insufficient permissions; wrong consumer scope

Example request (cURL)

curl --request GET \
  --url 'https://api.synerise.com/catalogs/bags?searchBy=SOME_STRING_VALUE&orderBy=SOME_STRING_VALUE&offset=SOME_INTEGER_VALUE&limit=SOME_INTEGER_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /catalogs/bags — Add catalog

/api-reference/data-management#tag/Catalogs/operation/addBag

Create a new, empty catalog.


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: CATALOGS_CATALOG_CREATE

User role permission required: assets_catalogs: create

Request body (required)

application/json · catalogs-addBag

FieldTypeRequiredDescription
namestringoptionalCatalog name

Responses

StatusDescription
200 application/jsonDetails of the created catalog
400 text/plainInvalid or insufficient data
401 application/jsonUnauthorized: token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden: insufficient permissions; wrong consumer scope

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/catalogs/bags \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"name":"string"}'

DELETE /catalogs/bags — Delete catalogs

/api-reference/data-management#tag/Catalogs/operation/deleteBagByIds


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: CATALOGS_CATALOG_DELETE

User role permission required: assets_catalogs: delete

Request body (required)

application/json · array<string>

Responses

StatusDescription
200 application/jsonDeletion status
400 text/plainInvalid or insufficient data
401 application/jsonUnauthorized: token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden: insufficient permissions; wrong consumer scope

Example request (cURL)

curl --request DELETE \
  --url https://api.synerise.com/catalogs/bags \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '[1199,1200,1201]'

GET /catalogs/bags/{catalogId}/keys — Get catalog keys

/api-reference/data-management#tag/Catalogs/operation/getKeysByBag

Retrieve the list of keys from a catalog.


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: CATALOGS_CATALOG_READ

User role permission required: assets_catalogs: read

Parameters

NameInTypeRequiredDescription
catalogIdpathintegerrequiredID of the catalog

Responses

StatusDescription
200 application/jsonList of keys
401 application/jsonUnauthorized: token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden: insufficient permissions; wrong consumer scope
404 text/plainEntity not found

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/catalogs/bags/%7BcatalogId%7D/keys \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /catalogs/bags/{catalogId} — Get catalog info

/api-reference/data-management#tag/Catalogs/operation/getBagById

Retrieve the metadata of a catalog


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: CATALOGS_CATALOG_READ

User role permission required: assets_catalogs: read

Parameters

NameInTypeRequiredDescription
catalogIdpathintegerrequiredID of the catalog

Responses

StatusDescription
200 application/jsonDetails of the catalog
401 application/jsonUnauthorized: token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden: insufficient permissions; wrong consumer scope
404 text/plainEntity not found

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/catalogs/bags/%7BcatalogId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

DELETE /catalogs/bags/{catalogId} — Delete catalog

/api-reference/data-management#tag/Catalogs/operation/deleteBagById

Delete a single catalog. This operation is irreversible.


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: CATALOGS_CATALOG_DELETE

User role permission required: assets_catalogs: delete

Parameters

NameInTypeRequiredDescription
catalogIdpathintegerrequiredID of the catalog

Responses

StatusDescription
200 application/jsonDeletion status
401 application/jsonUnauthorized: token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden: insufficient permissions; wrong consumer scope
404 text/plainEntity not found

Example request (cURL)

curl --request DELETE \
  --url https://api.synerise.com/catalogs/bags/%7BcatalogId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /catalogs/bags/{catalogId}/items — Get items from catalog

/api-reference/data-management#tag/Catalogs/operation/getItemsByBag

Retrieve the entries from a single catalog.


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: CATALOGS_CATALOG_READ

User role permission required: assets_catalogs: read

Parameters

NameInTypeRequiredDescription
catalogIdpathintegerrequiredID of the catalog
itemKeyquerystringoptionalFilter by the value of the unique identifier of the item (exact match)
offsetqueryintegeroptionalThe offset for the search. For example, if your limit is 10 and you want to retrieve the third page of items, set the offset to 20. Items with indexes 20 to 29 are returned (the first item on the first page has the index 0).
limitqueryintegeroptionalThe maximum number of items to include in the response. offset must be defined. Default: 100

Responses

StatusDescription
200 application/jsonA list of items in the catalog

Example request (cURL)

curl --request GET \
  --url 'https://api.synerise.com/catalogs/bags/%7BcatalogId%7D/items?itemKey=SOME_STRING_VALUE&offset=SOME_INTEGER_VALUE&limit=SOME_INTEGER_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /catalogs/bags/{catalogId}/items — Add item

/api-reference/data-management#tag/Catalogs/operation/addItems

Add a single item to the catalog.


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: CATALOGS_ITEM_BATCH_CATALOG_CREATE

User role permission required: assets_catalogs: create

Parameters

NameInTypeRequiredDescription
catalogIdpathintegerrequiredID of the catalog

Request body (required)

application/json · catalogs-addItem

JSON object with any number of key/value pairs

FieldTypeRequiredDescription
itemKeystringrequiredThe value of the unique key of the item. Slashes (/) are not allowed in the value. In the Synerise Portal, this value is saved under Primary key.
valueobjectrequiredProperties of the item. Can be an empty object.

Responses

StatusDescription
200 application/jsonUpload status
400 text/plainInvalid or insufficient data
401 application/jsonUnauthorized: token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden: insufficient permissions; wrong consumer scope
404 text/plainEntity not found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/catalogs/bags/%7BcatalogId%7D/items \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"itemKey":"sku1357","value":{"itemCategory":"smartphone","itemColor":"blue"}}'

POST /catalogs/bags/{catalogId}/items/batch — Batch add items

/api-reference/data-management#tag/Catalogs/operation/addItemsBatch

Add a number of items at once.

For better performance, we recommend using the /v1/async/bags/{catalogId}/items endpoint.


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: CATALOGS_ITEM_BATCH_CATALOG_CREATE

User role permission required: assets_catalogs: create

Parameters

NameInTypeRequiredDescription
catalogIdpathintegerrequiredID of the catalog

Request body (required)

application/json · array<catalogs-addItem>

An array of JSON objects with any number of key/value pairs

Responses

StatusDescription
200 application/jsonUpload status
400 text/plainInvalid or insufficient data
401 application/jsonUnauthorized: token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden: insufficient permissions; wrong consumer scope
404 text/plainEntity not found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/catalogs/bags/%7BcatalogId%7D/items/batch \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '[{"itemKey":"sku1357","value":{"itemCategory":"smartphone","itemColor":"blue"}}]'

PATCH /catalogs/bags/{catalogId}/enrichment/fields — Update enrichment fields

/api-reference/data-management#tag/Catalogs/operation/updateEnrichmentFields

Change enrichment fields for given mapping


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: CATALOGS_MAPPING_CATALOG_CREATE

User role permission required: assets_catalogs: create

Parameters

NameInTypeRequiredDescription
catalogIdpathintegerrequiredID of the catalog

Request body

application/json · catalogs-enrichmentUpdateRequest

FieldTypeRequiredDescription
actionstringoptional
paramKeystringoptional
enrichmentFieldsarray<string>optional

Responses

StatusDescription
200 application/jsonUpload status
400 text/plainInvalid or insufficient data
401 application/jsonUnauthorized: token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden: insufficient permissions; wrong consumer scope
404 text/plainEntity not found

Example request (cURL)

curl --request PATCH \
  --url https://api.synerise.com/catalogs/bags/%7BcatalogId%7D/enrichment/fields \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"action":"string","paramKey":"string","enrichmentFields":["string"]}'

GET /catalogs/bags/{catalogId}/items/itemKey/{itemKey} — Get single item by itemKey

/api-reference/data-management#tag/Catalogs/operation/getItemByKey

Retrieve a single item from a catalog by using the item key (unique identifier of an item in the catalog, for example a product's SKU) of the entry in the Synerise database.


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: CATALOGS_CATALOG_READ

User role permission required: assets_catalogs: read

Parameters

NameInTypeRequiredDescription
catalogIdpathintegerrequiredID of the catalog
itemKeypathstringrequireditemKey parameter of the item to retrieve

Responses

StatusDescription
200 application/jsonA single item

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/catalogs/bags/%7BcatalogId%7D/items/itemKey/%7BitemKey%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

DELETE /catalogs/bags/{catalogId}/items/itemKey/{itemKey} — Delete single item by itemKey

/api-reference/data-management#tag/Catalogs/operation/deleteItemByItemKey

Delete a single item by itemKey (unique identifier of an item in the catalog, for example a product's SKU).


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: CATALOGS_CATALOG_DELETE

User role permission required: assets_catalogs: delete

Parameters

NameInTypeRequiredDescription
catalogIdpathintegerrequiredID of the catalog
itemKeypathstringrequireditemKey parameter of the item to delete

Responses

StatusDescription
200 application/jsonSuccess
401 application/jsonUnauthorized: token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden: insufficient permissions; wrong consumer scope
404 text/plainEntity not found

Example request (cURL)

curl --request DELETE \
  --url https://api.synerise.com/catalogs/bags/%7BcatalogId%7D/items/itemKey/%7BitemKey%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /catalogs/bags/{catalogId}/items/{itemId} — Get single item by database ID

/api-reference/data-management#tag/Catalogs/operation/getItem

Retrieve a single item from a catalog by using the ID of the entry in the Synerise database. If you want to retrieve an item by its unique identifier in the catalog, use /bags/{catalogId}/items/itemKey/{itemKey}.


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: CATALOGS_CATALOG_READ

User role permission required: assets_catalogs: read

Parameters

NameInTypeRequiredDescription
catalogIdpathintegerrequiredID of the catalog
itemIdpathintegerrequiredID of the item. This is the ID of the entry in the Synerise database, not the unique identifier that you're using in your catalog. The itemId is available in the id field of the catalog item when you retrieve items from a catalog: { "creationDate": "2020-09-30T11:31:16.314Z", "id": 73753, // this is the itemId "itemKey": "uniqueValue", "lastModified": null, "value": "{\"exampleKey\":\"uniqueValue\",\"exampleKey2\":\"exampleValue\"}", "bag": { "author": "authorName", "creationDate": "2020-09-30T10:52:31.264Z", "id": 1053, // this is the ID of the catalog "lastModified": "2020-09-30T11:41:11.808Z", "name": "sampleCatalog" } },

Responses

StatusDescription
200 application/jsonA single item
401 application/jsonUnauthorized: token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden: insufficient permissions; wrong consumer scope
404 text/plainEntity not found

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/catalogs/bags/%7BcatalogId%7D/items/%7BitemId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /catalogs/bags/{catalogId}/items/{itemId} — Update single item by database ID

/api-reference/data-management#tag/Catalogs/operation/updateItem

Update a single item from a catalog by using the ID of the entry in the Synerise database.

Update requests are processed according to the time they reach the service.
This means that updates from the synchronous /bags/{catalogId}/items/{itemId} endpoint may overwrite asynchronous operations (see /v1/async/* endpoints) which were sent earlier and queued due to high traffic.
This behavior also applies to requests from Automation and AI feed synchronization, which use the asynchronous mechanism.


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: CATALOGS_CATALOG_UPDATE

User role permission required: assets_catalogs: update

Parameters

NameInTypeRequiredDescription
catalogIdpathintegerrequiredID of the catalog
itemIdpathintegerrequiredID of the item. This is the ID of the entry in the Synerise database, not the unique identifier that you're using in your catalog. The itemId is available in the id field of the catalog item when you retrieve items from a catalog: { "creationDate": "2020-09-30T11:31:16.314Z", "id": 73753, // this is the itemId "itemKey": "uniqueValue", "lastModified": null, "value": "{\"exampleKey\":\"uniqueValue\",\"exampleKey2\":\"exampleValue\"}", "bag": { "author": "authorName", "creationDate": "2020-09-30T10:52:31.264Z", "id": 1053, // this is the ID of the catalog "lastModified": "2020-09-30T11:41:11.808Z", "name": "sampleCatalog" } },

Request body

application/json · object

JSON object with any number of key/value pairs

Responses

StatusDescription
200 application/jsonA single item
401 application/jsonUnauthorized: token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden: insufficient permissions; wrong consumer scope
404 text/plainEntity not found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/catalogs/bags/%7BcatalogId%7D/items/%7BitemId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"property1":null,"property2":null}'

DELETE /catalogs/bags/{catalogId}/items/{itemId} — Delete single item by database ID

/api-reference/data-management#tag/Catalogs/operation/deleteItem

Delete a single item by ID.


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: CATALOGS_CATALOG_DELETE

User role permission required: assets_catalogs: delete

Parameters

NameInTypeRequiredDescription
catalogIdpathintegerrequiredID of the catalog
itemIdpathintegerrequiredID of the item. This is the ID of the entry in the Synerise database, not the unique identifier that you're using in your catalog. The itemId is available in the id field of the catalog item when you retrieve items from a catalog: { "creationDate": "2020-09-30T11:31:16.314Z", "id": 73753, // this is the itemId "itemKey": "uniqueValue", "lastModified": null, "value": "{\"exampleKey\":\"uniqueValue\",\"exampleKey2\":\"exampleValue\"}", "bag": { "author": "authorName", "creationDate": "2020-09-30T10:52:31.264Z", "id": 1053, // this is the ID of the catalog "lastModified": "2020-09-30T11:41:11.808Z", "name": "sampleCatalog" } },

Responses

StatusDescription
200 application/jsonSuccess
401 application/jsonUnauthorized: token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden: insufficient permissions; wrong consumer scope
404 text/plainEntity not found

Example request (cURL)

curl --request DELETE \
  --url https://api.synerise.com/catalogs/bags/%7BcatalogId%7D/items/%7BitemId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /catalogs/items — Get all items

/api-reference/data-management#tag/Catalogs/operation/getItemsByBusinessProfileid

Retrieve all items from all catalogs in the Workspace.


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: CATALOGS_CATALOG_READ

User role permission required: assets_catalogs: read

Parameters

NameInTypeRequiredDescription
offsetqueryintegeroptionalThe offset for the search. For example, if your limit is 10 and you want to retrieve the third page of items, set the offset to 20. Items with indexes 20 to 29 are returned (the first item on the first page has the index 0).
limitqueryintegeroptionalThe maximum number of items to include in the response. offset must be defined. Default: 100

Responses

StatusDescription
200 application/jsonA list of items in the Workspace
401 application/jsonUnauthorized: token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden: insufficient permissions; wrong consumer scope

Example request (cURL)

curl --request GET \
  --url 'https://api.synerise.com/catalogs/items?offset=SOME_INTEGER_VALUE&limit=SOME_INTEGER_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /catalogs/bags/{catalogId}/mappings — Add mapping

/api-reference/data-management#tag/Catalogs/operation/addMapping

Add a new mapping. Mappings can be used to enrich events with data from catalogs.

For example, you can map the product's SKU from the "product.buy" event to the column in the catalog that includes the SKU. Whenever someone purchases an item with that SKU, you can extract data from the catalog (for example, the product's brand and category) and show that additional in the event log in the Synerise GUI.


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: CATALOGS_MAPPING_CATALOG_CREATE

User role permission required: assets_catalogs: create

Parameters

NameInTypeRequiredDescription
catalogIdpathintegerrequiredID of the catalog

Request body

application/json · catalogs-eventData

FieldTypeRequiredDescription
actionstringoptionalThe action field of the event
paramKeystringoptionalThe parameter in the event that corresponds to the catalog column with the unique identifiers

Responses

StatusDescription
200 application/jsonMapping data
400 text/plainInvalid or insufficient data
401 application/jsonUnauthorized: token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden: insufficient permissions; wrong consumer scope
404 text/plainEntity not found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/catalogs/bags/%7BcatalogId%7D/mappings \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"action":"transaction.charge","paramKey":"sku"}'

GET /catalogs/mappings — Get all mappings

/api-reference/data-management#tag/Catalogs/operation/getMappingsByBP

Retrieve all mappings from the Workspace.


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: CATALOGS_MAPPING_CATALOG_READ

User role permission required: assets_catalogs: read

Responses

StatusDescription
200 application/jsonList of mappings
401 application/jsonUnauthorized: token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden: insufficient permissions; wrong consumer scope

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/catalogs/mappings \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

DELETE /catalogs/mappings/{bpActionParamKey} — Delete mapping

/api-reference/data-management#tag/Catalogs/operation/deleteMappingBykey

Delete a single mapping.


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: CATALOGS_MAPPING_CATALOG_DELETE

User role permission required: assets_catalogs: delete

Parameters

NameInTypeRequiredDescription
bpActionParamKeypathstringrequiredThe unique identifier of the mapping

Responses

StatusDescription
200 application/jsonDeletion status
401 application/jsonUnauthorized: token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden: insufficient permissions; wrong consumer scope
404 text/plainEntity not found

Example request (cURL)

curl --request DELETE \
  --url https://api.synerise.com/catalogs/mappings/%7BbpActionParamKey%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /catalogs/itemDetail — Get single item by unique key

/api-reference/data-management#tag/Catalogs/operation/getItemDetailByKey

Retrieve a single item from a catalog by using the value of the unique identifier (key) in the catalog. If you want to retrieve an item by its ID in the Synerise database, use /bags/{catalogId}/items/{itemId}.


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: ITEMS_COLLECTOR_CATALOG_READ

User role permission required: assets_catalogs: read

Parameters

NameInTypeRequiredDescription
catalogNamequerystringrequiredName of the catalog
keyquerystringrequiredValue of the unique identifier of the item in the catalog. When you retrieve an item using this endpoint, the identifier is in the itemKey field. { "creationDate": "2020-09-30T11:31:16.314Z", "id": 73753, "itemKey": "uniqueValue", // this is the value of the key "lastModified": null, "value": "{\"exampleKey\":\"uniqueValue\",\"exampleKey2\":\"exampleValue\"}", "bag": { "author": "authorName", "creationDate": "2020-09-30T10:52:31.264Z", "id": 1053, "lastModified": "2020-09-30T11:41:11.808Z", "name": "sampleCatalog" } },

Responses

StatusDescription
200 application/jsonA single item
401 application/jsonUnauthorized: token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden: insufficient permissions; wrong consumer scope
404 text/plainEntity not found

Example request (cURL)

curl --request GET \
  --url 'https://api.synerise.com/catalogs/itemDetail?catalogName=SOME_STRING_VALUE&key=SOME_STRING_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

DELETE /catalogs/v2/bags/{catalogId}/items — Delete all items from a catalog

/api-reference/data-management#tag/Catalogs/operation/deleteBagsItemsV2

Delete all the contents of a catalog.

Information about the keys (columns) remains.


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: CATALOGS_CATALOG_DELETE

User role permission required: assets_catalogs: delete

Parameters

NameInTypeRequiredDescription
catalogIdpathintegerrequiredID of the catalog

Responses

StatusDescription
200 application/jsonItems deleted. The metaData object always shows a totalCount of 1, regardless of the number of deleted items.
4xx application/jsonA problem occurred. See the error message for details.

Example request (cURL)

curl --request DELETE \
  --url https://api.synerise.com/catalogs/v2/bags/%7BcatalogId%7D/items \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

DELETE /catalogs/v2/bags/{catalogId}/items/batch — Delete items by itemKeys

/api-reference/data-management#tag/Catalogs/operation/deleteItemsByItemKeys

Delete items by itemKeys (unique identifier of an item in the catalog, for example a product's SKU). In the Synerise Portal, it's called the Primary key.


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: CATALOGS_CATALOG_DELETE

User role permission required: assets_catalogs: delete

Parameters

NameInTypeRequiredDescription
catalogIdpathintegerrequiredID of the catalog

Request body

application/json · array<string>

Array of itemKeys

Responses

StatusDescription
204No Content
401 application/jsonUnauthorized: token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden: insufficient permissions; wrong consumer scope
404 text/plainEntity not found

Example request (cURL)

curl --request DELETE \
  --url https://api.synerise.com/catalogs/v2/bags/%7BcatalogId%7D/items/batch \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '["string"]'

PATCH /catalogs/v2/bags/{catalogId}/enable/filtering — Enable filtering

/api-reference/data-management#tag/Catalogs/operation/enableFilteringV2

Enable filtering for a catalog on selected fields


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: CATALOGS_CATALOG_UPDATE

User role permission required: assets_catalogs: update

Parameters

NameInTypeRequiredDescription
catalogIdpathintegerrequiredID of the catalog

Request body

application/json · catalogs-enableFilteringRequest

FieldTypeRequiredDescription
fieldsarray<string>optional

Responses

StatusDescription
200 application/jsonUpload status

Example request (cURL)

curl --request PATCH \
  --url https://api.synerise.com/catalogs/v2/bags/%7BcatalogId%7D/enable/filtering \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"fields":["string"]}'

PATCH /catalogs/v2/bags/{catalogId}/disable/filtering — Disable filtering

/api-reference/data-management#tag/Catalogs/operation/disableFilteringV2

Disable filtering for a catalog on selected fields


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: CATALOGS_CATALOG_UPDATE

User role permission required: assets_catalogs: update

Parameters

NameInTypeRequiredDescription
catalogIdpathintegerrequiredID of the catalog

Request body

application/json · catalogs-disableFilteringRequest

FieldTypeRequiredDescription
removeFiltersbooleanoptional

Responses

StatusDescription
200 application/jsonNumber of rows changed

Example request (cURL)

curl --request PATCH \
  --url https://api.synerise.com/catalogs/v2/bags/%7BcatalogId%7D/disable/filtering \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"removeFilters":true}'

POST /catalogs/v1/async/bags/{catalogId}/item — Add or update item asynchronously

/api-reference/data-management#tag/Catalogs/operation/addItemAsync

Add a single item asynchronously to the catalog. If the item already exists, it's entirely overwritten by the item you send.

Asynchronous requests are processed according to the time they reach the service.
This means that requests to synchronous endpoints (for example, /bags/{catalogId}/items/{itemId} may overwrite asynchronous operations which were sent earlier and queued due to high traffic.
This behavior also applies to requests from Automation and AI feed synchronization, which use the asynchronous mechanism.

The request body can't exceed 256KB.


API consumers: Synerise User, Workspace (Business Profile)

API key permissions required (at least one): CATALOGS_ITEM_BATCH_CREATE, CATALOGS_ITEM_BATCH_CATALOG_CREATE

User role permission required: assets_catalogs: create

Parameters

NameInTypeRequiredDescription
catalogIdpathintegerrequiredID of the catalog

Request body (required)

application/json · catalogs-addItem

JSON object with any number of key/value pairs

FieldTypeRequiredDescription
itemKeystringrequiredThe value of the unique key of the item. Slashes (/) are not allowed in the value. In the Synerise Portal, this value is saved under Primary key.
valueobjectrequiredProperties of the item. Can be an empty object.

Responses

StatusDescription
204Operation added to queue

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/catalogs/v1/async/bags/%7BcatalogId%7D/item \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"itemKey":"sku1357","value":{"itemCategory":"smartphone","itemColor":"blue"}}'

PATCH /catalogs/v1/async/bags/{catalogId}/item — Add or update (partial) item asynchronously

/api-reference/data-management#tag/Catalogs/operation/updateItemAsync

Update a single item asynchronously to the catalog. If the item doesn't exist, it will be created.

This endpoint allows you to perform partial updates - you can send only the properties that you want to add/modify, instead of sending the entire item.

Asynchronous requests are processed according to the time they reach the service.
This means that requests to synchronous endpoints (for example, /bags/{catalogId}/items/{itemId} may overwrite asynchronous operations which were sent earlier and queued due to high traffic.
This behavior also applies to requests from Automation and AI feed synchronization, which use the asynchronous mechanism.

The request body can't exceed 256KB.


API consumers: Synerise User, Workspace (Business Profile)

API key permissions required (at least one): CATALOGS_ITEM_BATCH_UPDATE, CATALOGS_ITEM_BATCH_CATALOG_UPDATE

User role permission required: assets_catalogs: update

Parameters

NameInTypeRequiredDescription
catalogIdpathintegerrequiredID of the catalog

Request body (required)

application/json · catalogs-addItem

JSON object with any number of key/value pairs

FieldTypeRequiredDescription
itemKeystringrequiredThe value of the unique key of the item. Slashes (/) are not allowed in the value. In the Synerise Portal, this value is saved under Primary key.
valueobjectrequiredProperties of the item. Can be an empty object.

Responses

StatusDescription
204Operation added to queue

Example request (cURL)

curl --request PATCH \
  --url https://api.synerise.com/catalogs/v1/async/bags/%7BcatalogId%7D/item \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"itemKey":"sku1357","value":{"itemCategory":"smartphone","itemColor":"blue"}}'

POST /catalogs/v1/async/bags/{catalogId}/items — Batch add or update items asynchronously

/api-reference/data-management#tag/Catalogs/operation/addItemsBatchAsync

Add a number of items asynchronously at once. If an item already exists, it's entirely overwritten by the item you send.

Asynchronous requests are processed according to the time they reach the service.
This means that requests to synchronous endpoints (for example, /bags/{catalogId}/items/{itemId} may overwrite asynchronous operations which were sent earlier and queued due to high traffic.
This behavior also applies to requests from Automation and AI feed synchronization, which use the asynchronous mechanism.

The request body can't exceed 256KB.


API consumers: Synerise User, Workspace (Business Profile)

API key permissions required (at least one): CATALOGS_ITEM_BATCH_CREATE, CATALOGS_ITEM_BATCH_CATALOG_CREATE

User role permission required: assets_catalogs: create

Parameters

NameInTypeRequiredDescription
catalogIdpathintegerrequiredID of the catalog

Request body (required)

application/json · array<catalogs-addItem>

JSON object with any number of key/value pairs

Responses

StatusDescription
204Operation added to queue

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/catalogs/v1/async/bags/%7BcatalogId%7D/items \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '[{"itemKey":"sku1357","value":{"itemCategory":"smartphone","itemColor":"blue"}}]'

PATCH /catalogs/v1/async/bags/{catalogId}/items — Batch add or update (partial) items asynchronously

/api-reference/data-management#tag/Catalogs/operation/updateItemsBatchAsync

Update a number of items asynchronously at once. If an item doesn't exist, it will be created.

This endpoint allows you to perform partial updates - you can send only the properties that you want to add/modify, instead of sending the entire item.

Asynchronous requests are processed according to the time they reach the service.
This means that requests to synchronous endpoints (for example, /bags/{catalogId}/items/{itemId} may overwrite asynchronous operations which were sent earlier and queued due to high traffic.
This behavior also applies to requests from Automation and AI feed synchronization, which use the asynchronous mechanism.

The request body can't exceed 256KB.


API consumers: Synerise User, Workspace (Business Profile)

API key permissions required (at least one): CATALOGS_ITEM_BATCH_UPDATE, CATALOGS_ITEM_BATCH_CATALOG_UPDATE

User role permission required: assets_catalogs: update

Parameters

NameInTypeRequiredDescription
catalogIdpathintegerrequiredID of the catalog

Request body (required)

application/json · array<catalogs-addItem>

JSON object with any number of key/value pairs

Responses

StatusDescription
204Operation added to queue

Example request (cURL)

curl --request PATCH \
  --url https://api.synerise.com/catalogs/v1/async/bags/%7BcatalogId%7D/items \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '[{"itemKey":"sku1357","value":{"itemCategory":"smartphone","itemColor":"blue"}}]'

Asset tags

GET /tags-collector/directories — Get all directories

/api-reference/data-management#tag/Asset-tags/operation/getTagDirectories

Gets all tag directories from the Workspace.


API consumers: Synerise User, Profile (Client), Workspace (Business Profile)

API key permission required: TAGS_COLLECTOR_DIRECTORY_READ

User role permission required: assets_tags: read

Responses

StatusDescription
200 application/jsonOK
401Unauthorized
403Forbidden

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/tags-collector/directories

POST /tags-collector/directories — Create directory

/api-reference/data-management#tag/Asset-tags/operation/createDirectory

Creates a directory.


API consumers: Synerise User, Profile (Client), Workspace (Business Profile)

API key permission required: TAGS_COLLECTOR_DIRECTORY_CREATE

User role permission required: assets_tags: create

Request body (required)

application/json · tags-collector-DirectoryCreateRequest-collector

FieldTypeRequiredDescription
namestringrequiredName of the directory
paramsobjectoptionalFree-form parameters
typestringoptionalHashID of the directory type

Responses

StatusDescription
201 application/jsonCreated
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/tags-collector/directories \
  --header 'content-type: application/json' \
  --data '{"name":"string","params":{"property1":"string","property2":"string"},"type":"string"}'

GET /tags-collector/directories/types — Get directory types

/api-reference/data-management#tag/Asset-tags/operation/getDirectoryTypes

Gets all directory types.


API consumers: Synerise User, Profile (Client), Workspace (Business Profile)

API key permission required: TAGS_COLLECTOR_DIRECTORY_READ

User role permission required: assets_tags: read

Responses

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

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/tags-collector/directories/types

POST /tags-collector/directories/types — Create directory type

/api-reference/data-management#tag/Asset-tags/operation/createDirectoryType

Creates a directory type.


API consumers: Synerise User, Profile (Client), Workspace (Business Profile)

API key permission required: TAGS_COLLECTOR_DIRECTORY_UPDATE

User role permission required: assets_tags: update

Request body (required)

application/json · tags-collector-DirectoryTypeCreateRequest-collector

FieldTypeRequiredDescription
namestringrequiredName of the directory type

Responses

StatusDescription
201 application/jsonCreated
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/tags-collector/directories/types \
  --header 'content-type: application/json' \
  --data '{"name":"string"}'

PATCH /tags-collector/directories/{directoryHash} — Update directory

/api-reference/data-management#tag/Asset-tags/operation/updateDirectory

Updates a directory.


API consumers: Synerise User, Profile (Client), Workspace (Business Profile)

API key permission required: TAGS_COLLECTOR_DIRECTORY_UPDATE

User role permission required: assets_tags: update

Parameters

NameInTypeRequiredDescription
directoryHashpathstringrequiredHash ID of the directory

Request body (required)

application/json · tags-collector-DirectoryUpdateRequest-collector

FieldTypeRequiredDescription
namestringoptionalName of the directory
paramsobjectoptionalFree-form parameters

Responses

StatusDescription
200 application/jsonOK
204No Content
401Unauthorized
403Forbidden

Example request (cURL)

curl --request PATCH \
  --url https://api.synerise.com/tags-collector/directories/%7BdirectoryHash%7D \
  --header 'content-type: application/json' \
  --data '{"name":"string","params":{"property1":"string","property2":"string"}}'

DELETE /tags-collector/directories/{directoryHash} — Delete directory

/api-reference/data-management#tag/Asset-tags/operation/deleteDirectory

Deletes a directory.


API consumers: Synerise User, Profile (Client), Workspace (Business Profile)

API key permission required: TAGS_COLLECTOR_DIRECTORY_DELETE

User role permission required: assets_tags: delete

Parameters

NameInTypeRequiredDescription
directoryHashpathstringrequiredHash ID of the directory

Responses

StatusDescription
200OK
204No Content
401Unauthorized
403Forbidden

Example request (cURL)

curl --request DELETE \
  --url https://api.synerise.com/tags-collector/directories/%7BdirectoryHash%7D

GET /tags-collector/directories/{directoryHash}/tags — Get tags from directory

/api-reference/data-management#tag/Asset-tags/operation/getTagsUsingGET

Retrieve tags from a directory.


API consumers: Synerise User, Profile (Client), Workspace (Business Profile)

API key permission required: TAGS_COLLECTOR_DIRECTORY_READ

User role permission required: assets_tags: read

Parameters

NameInTypeRequiredDescription
directoryHashpathstringrequiredHash ID of the directory

Responses

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

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/tags-collector/directories/%7BdirectoryHash%7D/tags

POST /tags-collector/directories/{directoryHash}/tags — Assign tags to directory

/api-reference/data-management#tag/Asset-tags/operation/assignTagsUsingPOST

Assign tags to a directory.


API consumers: Synerise User, Profile (Client), Workspace (Business Profile)

API key permission required: TAGS_COLLECTOR_DIRECTORY_UPDATE

User role permission required: assets_tags: update

Parameters

NameInTypeRequiredDescription
directoryHashpathstringrequiredHash ID of the directory

Request body (required)

application/json · array<string>

Responses

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

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/tags-collector/directories/%7BdirectoryHash%7D/tags \
  --header 'content-type: application/json' \
  --data '["string"]'

DELETE /tags-collector/directories/{directoryHash}/tags — Unassign tags from directory

/api-reference/data-management#tag/Asset-tags/operation/unassignTagUsingDELETE

Unassign tags from a directory. This does not delete the tags or the directory.


API consumers: Synerise User, Profile (Client), Workspace (Business Profile)

API key permission required: TAGS_COLLECTOR_DIRECTORY_DELETE

User role permission required: assets_tags: delete

Parameters

NameInTypeRequiredDescription
directoryHashpathstringrequiredHash ID of the directory

Request body (required)

application/json · array<string>

Responses

StatusDescription
200OK
204No Content
401Unauthorized
403Forbidden

Example request (cURL)

curl --request DELETE \
  --url https://api.synerise.com/tags-collector/directories/%7BdirectoryHash%7D/tags \
  --header 'content-type: application/json' \
  --data '["string"]'

PUT /tags-collector/directories/{directoryHash}/types — Update directory type

/api-reference/data-management#tag/Asset-tags/operation/updateTypeUsingPUT

Update the type of a directory.


API consumers: Synerise User, Profile (Client), Workspace (Business Profile)

API key permission required: TAGS_COLLECTOR_DIRECTORY_UPDATE

User role permission required: assets_tags: update

Parameters

NameInTypeRequiredDescription
directoryHashpathstringrequiredHash ID of the directory

Request body (required)

application/json · tags-collector-DirectoryTypeUpdateRequest-collector

FieldTypeRequiredDescription
directoryTypeHashstringoptionalHashID of the directory type

Responses

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

Example request (cURL)

curl --request PUT \
  --url https://api.synerise.com/tags-collector/directories/%7BdirectoryHash%7D/types \
  --header 'content-type: application/json' \
  --data '{"directoryTypeHash":"string"}'

GET /tags-collector/tags — Get tag list

/api-reference/data-management#tag/Asset-tags/operation/getTagList

Gets a paginated list of tags that can be assigned to assets, for example promotions.


API consumers: Synerise User, Profile (Client), Workspace (Business Profile)

API key permission required: TAGS_COLLECTOR_TAG_READ

User role permission required: assets_tags: read

Parameters

NameInTypeRequiredDescription
pagequeryintegeroptionalPage to retrieve
sizequeryintegeroptionalLimit of items per page
directoryTypequerystringoptionalDirectory type

Responses

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

Example request (cURL)

curl --request GET \
  --url 'https://api.synerise.com/tags-collector/tags?page=SOME_INTEGER_VALUE&size=SOME_INTEGER_VALUE&directoryType=SOME_STRING_VALUE'

POST /tags-collector/tags — Create tag

/api-reference/data-management#tag/Asset-tags/operation/createTag

Creates a tag that can be assigned to assets, for example promotions.


API consumers: Synerise User, Profile (Client), Workspace (Business Profile)

API key permission required: TAGS_COLLECTOR_TAG_CREATE

User role permission required: assets_tags: create

Request body (required)

application/json · tags-collector-TagCreateRequest-collector

FieldTypeRequiredDescription
colorstringoptionalHex code of the tag color
descriptionstringoptionalDescription of the tag
directorystringoptionalHash ID of the directory where the tag is assigned
iconstringoptionalURL of the tag's icon
priorityintegerrequiredTag priority. Lower values mean higher priority.
valuestringrequiredName of the tag

Responses

StatusDescription
201 application/jsonCreated
401Unauthorized
403Forbidden
404Not Found

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/tags-collector/tags \
  --header 'content-type: application/json' \
  --data '{"color":"string","description":"string","directory":"string","icon":"string","priority":0,"value":"string"}'

PATCH /tags-collector/tags/{tagHash} — Update tag

/api-reference/data-management#tag/Asset-tags/operation/updateTag

Updates a tag definition.


API consumers: Synerise User, Profile (Client), Workspace (Business Profile)

API key permission required: TAGS_COLLECTOR_TAG_UPDATE

User role permission required: assets_tags: update

Parameters

NameInTypeRequiredDescription
tagHashpathstringrequiredHashID of a tag

Request body (required)

application/json · tags-collector-TagUpdateRequest-collector

FieldTypeRequiredDescription
colorstringoptionalHex code of the tag color
descriptionstringoptionalDescription of the tag
directorystringoptionalHash ID of the directory where the tag is assigned
iconstringoptionalURL of the tag's icon
priorityintegeroptionalTag priority. Lower values mean higher priority.
valuestringoptionalName of the tag

Responses

StatusDescription
200 application/jsonOK
401Unauthorized
403Forbidden

Example request (cURL)

curl --request PATCH \
  --url https://api.synerise.com/tags-collector/tags/%7BtagHash%7D \
  --header 'content-type: application/json' \
  --data '{"color":"string","description":"string","directory":"string","icon":"string","priority":0,"value":"string"}'

Tags

GET /v4/clients/tags — Get all tags

/api-reference/data-management#tag/Tags/operation/GetAllTags

Retrieve all tags that can be assigned to profiles.

This endpoint is available from version 4.1.0


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: API_TAGS_CLIENT_READ

User role permission required: client_tags: read

Parameters

NameInTypeRequiredDescription
Api-Versionheaderenum<"4.4">required

Responses

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

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/v4/clients/tags \
  --header 'Api-Version: SOME_STRING_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /v4/tags — Create a tag

/api-reference/data-management#tag/Tags/operation/createTagUsingPOST

Create a new tag that can be assigned to profiles. If you try to create a tag that already exists, the response is the existing tag.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: API_TAGS_CREATE

User role permission required: client_tags: create

Request body

application/json · api-service-TagCreate-apiv4

FieldTypeRequiredDescription
namestringrequiredName of the tag
colorstringoptionalDisplay color of the tag; hexadecimal value

Responses

StatusDescription
200 application/jsonTag created
400 application/jsonInvalid or incomplete data
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions (when PII protection is enabled, PII permissions are required in addition to the permissions listed in the method description)
415 application/jsonUnsupported Media Type

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/v4/tags \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"name":"nice tag","color":"#0768ff"}'

PUT /v4/tags/{tagID} — Update a tag

/api-reference/data-management#tag/Tags/operation/updateTagPUT

Update a tag. This method currently only allows modifying the color field.

If the tag has been already deleted, the response is a 404 error.

Important: This method doesn't update global tags (not related to any workspace). If you try to update a global tag, the response is a 404 error.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: API_TAGS_CREATE

User role permission required: client_tags: create

Parameters

NameInTypeRequiredDescription
tagIDpathintegerrequiredID of the tag

Request body

application/json · api-service-TagUpdate-apiv4

FieldTypeRequiredDescription
colorstringoptionalDisplay color of the tag; hexadecimal value

Responses

StatusDescription
200 application/jsonTag updated
400 application/jsonInvalid or incomplete data
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions (when PII protection is enabled, PII permissions are required in addition to the permissions listed in the method description)
404 application/jsonTag doesn't exist or it is a global tag (not related to any workspace).
415 application/jsonUnsupported Media Type

Example request (cURL)

curl --request PUT \
  --url https://api.synerise.com/v4/tags/645 \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"color":"#0768ff"}'

DELETE /v4/tags/{tagID} — Remove a tag

/api-reference/data-management#tag/Tags/operation/deleteTagDELETE

Remove a tag definition from the workspace.

If the tag has been already deleted, the response is a 404 error.

Important: This method does not remove global tag (not related to any workspace). In this case, the response is a 404 error.

Note: After removing a tag definition, the tag is still cached for a while. In that time, it is still possible for a while to remove or add this tag in profiles.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: API_TAGS_CREATE

User role permission required: client_tags: create

Parameters

NameInTypeRequiredDescription
tagIDpathintegerrequiredID of the tag

Responses

StatusDescription
202Tag removed
400 application/jsonInvalid or incomplete data
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions (when PII protection is enabled, PII permissions are required in addition to the permissions listed in the method description)
404 application/jsonTag doesn't exist, was already deleted, or is a global tag (not related to any workspace).
415 application/jsonUnsupported Media Type

Example request (cURL)

curl --request DELETE \
  --url https://api.synerise.com/v4/tags/645 \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /v4/clients/{clientId}/tags — Get profile tags

/api-reference/data-management#tag/Tags/operation/getClientTagsUsingGET

Retrieve a list of tags assigned to a profile.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: API_TAGS_READ

User role permission required: client_tags: read

Parameters

NameInTypeRequiredDescription
clientIdpathintegerrequiredThe ID of the profile Upcoming breaking change (effective July 6, 2026): Synerise is introducing changes to how user identifiers and UUIDs are handled. These changes may affect profiles with accented or diacritical characters in identifiers, profiles with leading or trailing whitespace in identifiers, and profiles with duplicate UUIDs. For details and recommended actions, see Upcoming changes to identifier and UUID handling.

Responses

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

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/v4/clients/434428563/tags \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /v4/clients/{clientId}/tags/{tagID} — Assign tag to profile

/api-reference/data-management#tag/Tags/operation/assignTagPOST

Assign a tag to a profile.


API consumers: Workspace (Business Profile), Synerise User

API key permission required: API_ASSIGN_TAGS_EXECUTE

User role permission required: client_tags: execute

Parameters

NameInTypeRequiredDescription
clientIdpathintegerrequiredThe ID of the profile Upcoming breaking change (effective July 6, 2026): Synerise is introducing changes to how user identifiers and UUIDs are handled. These changes may affect profiles with accented or diacritical characters in identifiers, profiles with leading or trailing whitespace in identifiers, and profiles with duplicate UUIDs. For details and recommended actions, see Upcoming changes to identifier and UUID handling.
tagIDpathintegerrequiredID of the tag

Responses

StatusDescription
200 application/jsonTag assigned
400 application/jsonProfile not found or data malformed
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions (when PII protection is enabled, PII permissions are required in addition to the permissions listed in the method description)
404 application/jsonTag not found
415 application/jsonUnsupported Media Type

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/v4/clients/434428563/tags/645

DELETE /v4/clients/{clientId}/tags/{tagID} — Remove tag from profile

/api-reference/data-management#tag/Tags/operation/removeClientTagDELETE


API consumers: Workspace (Business Profile), Synerise User

API key permission required: API_ASSIGN_TAGS_EXECUTE

User role permission required: client_tags: execute

Parameters

NameInTypeRequiredDescription
clientIdpathintegerrequiredThe ID of the profile Upcoming breaking change (effective July 6, 2026): Synerise is introducing changes to how user identifiers and UUIDs are handled. These changes may affect profiles with accented or diacritical characters in identifiers, profiles with leading or trailing whitespace in identifiers, and profiles with duplicate UUIDs. For details and recommended actions, see Upcoming changes to identifier and UUID handling.
tagIDpathintegerrequiredID of the tag

Responses

StatusDescription
202Tag removed
400 application/jsonProfile not found or data malformed
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions (when PII protection is enabled, PII permissions are required in addition to the permissions listed in the method description)
404 application/jsonTag not found

Example request (cURL)

curl --request DELETE \
  --url https://api.synerise.com/v4/clients/434428563/tags/645

Uploader

POST /uploader-service/clients/files/by/{identifierType} — Add files for dynamic attachments

/api-reference/asset-management#tag/Uploader/operation/addClientFiles

Add base64 encoded files to the storage for use in dynamic attachments. You can send up to 5 files in one request. An attachment.upload event is generated when you use the endpoint.


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: UPLOADER_SERVICE_STORAGE_CREATE

User role permission required: assets_explorer: create

Parameters

NameInTypeRequiredDescription
identifierTypepathenum<"id", "uuid", "email", "custom_identify">requiredType of the profile identifier. The value is sent in identifierValue in the request body.

Request body

application/json · uploader-service-AddFile

FieldTypeRequiredDescription
filesarray<uploader-service-InputFile>requiredUp to 5 files can be sent at once. The order in the array is reflected in the generated attachment.upload event, and the files from the event can then be accessed by their index in the array.
ttlInMinutesnumberrequiredDefines the amount of time (expressed in minutes) the file or files are available. If this parameter is not sent, the default time to live of the files is 30 days.
identifierValuestringrequiredContains the value of a customer identifier a file is dedicated for. The type of the value is defined in the path parameters of the endpoint (identifierType). If id is used, it must be sent as a string.
parametersobjectrequiredCustom parameters of the files.

Responses

StatusDescription
200 application/jsonFile or files uploaded successfully

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/uploader-service/clients/files/by/%7BidentifierType%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"files":[{"content":"77u/dGhpcyBpcyBqdXN0IGFuIGV4YW1wbGUgZmlsZQ==","mimetype":"text/csv","filename":"myexamplefile","extension":"csv"}],"ttlInMinutes":0,"identifierValue":"1234","parameters":{}}'

POST /uploader-service/storages/{container}/upload — Upload file

/api-reference/asset-management#tag/Uploader/operation/uploadFile

Upload a new file to Synerise.

IMPORTANT: Due to technical limitations, the code examples on the right don't include the form data. If you use the examples, remember to add it.

Example correct cURL request:

curl --location 'https://api.synerise.com/uploader-service/storages/default/upload' \
--header 'Authorization: Bearer YOUR_TOKEN' \
--form 'uploads=@"/Users/currentuser/Downloads/image.png"'

API consumers: Synerise User, Workspace (Business Profile)

API key permission required: UPLOADER_SERVICE_STORAGE_CREATE

User role permission required: assets_explorer: create

Parameters

NameInTypeRequiredDescription
containerpathstringrequiredName of the container in which the file will be stored

Request body

multipart/form-data · object

FieldTypeRequiredDescription
uploadsstringrequiredFile to upload, binary

Responses

StatusDescription
200 application/jsonFile description

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/uploader-service/storages/default/upload \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: multipart/form-data' \
  --form uploads=string

GET /uploader-service/storage-files/list — List files from workspace

/api-reference/asset-management#tag/Uploader/operation/getFiles

Retrieve a list of all files in the Workspace.


API consumer: Synerise User

User role permission required: assets_explorer: read

Responses

StatusDescription
200 application/jsonFiles

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/uploader-service/storage-files/list \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /uploader-service/v2/list — List files from workspace

/api-reference/asset-management#tag/Uploader/operation/getFilesV2

Retrieve a list of all files in the Workspace.


API consumer: Synerise User

User role permission required: assets_explorer: read

Parameters

NameInTypeRequiredDescription
pagequeryintegeroptionalpage number
limitqueryintegeroptionalnumber of elements in a page
sortByquerystringoptionalfield to sort by and order
mediatypequerystringoptionalfilter by media type
extensionsquerystringoptionalfilter by extension files
searchquerystringoptionalfile id or substring of file name

Responses

StatusDescription
200 application/jsonFiles

Example request (cURL)

curl --request GET \
  --url 'https://api.synerise.com/uploader-service/v2/list?page=SOME_INTEGER_VALUE&limit=SOME_INTEGER_VALUE&sortBy=createdAt%3Aasc&mediatype=image%2Fjpeg&extensions=pdf%2Cjpeg&search=SOME_STRING_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /uploader-service/storage-files/delete-by-uuid — Remove files

/api-reference/asset-management#tag/Uploader/operation/removeFiles

Delete one or more files.

IMPORTANT: Due to technical limitations, the code examples on the right don't include the form data. If you use the examples, remember to add it.

Example correct cURL request:

curl --location 'https://api.synerise.com/uploader-service/storage-files/delete-by-uuid' \
--header 'Authorization: Bearer YOUR_TOKEN' \
--form 'uuids="[\"0ac106beb55c401bac8bc8244e367512\",\"03dc506041e24c3cae284fd3f6611082\"]"'

API consumer: Synerise User

User role permission required: assets_explorer: delete

Request body

multipart/form-data · object

FieldTypeRequiredDescription
uuidsstringrequiredFile UUIDs, without dashes (stringified JSON array) Example:["0ac106beb55c401bac8bc8244e367512","03dc506041e24c3cae284fd3f6611082"]

Responses

StatusDescription
200 application/jsonResults of the operation

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/uploader-service/storage-files/delete-by-uuid \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: multipart/form-data' \
  --form uuids=string

POST /uploader-service/storage-files/add-star-by-uuid — Add stars

/api-reference/asset-management#tag/Uploader/operation/addStarByUUID

Add a star to one or more files. Stars are used to mark files as favorite and make them easier to find.

IMPORTANT: Due to technical limitations, the code examples on the right don't include the form data. If you use the examples, remember to add it.

Example correct cURL request:

curl --location 'https://api.synerise.com/uploader-service/storage-files/add-star-by-uuid' \
--header 'Authorization: Bearer YOUR_TOKEN' \
--form 'uuids="[\"0ac106beb55c401bac8bc8244e367512\",\"03dc506041e24c3cae284fd3f6611082\"]"'

API consumer: Synerise User

User role permission required: assets_explorer: update

Request body

multipart/form-data · object

FieldTypeRequiredDescription
uuidsstringrequiredFile UUIDs, without dashes (stringified JSON array) Example:["0ac106beb55c401bac8bc8244e367512","03dc506041e24c3cae284fd3f6611082"]

Responses

StatusDescription
200 application/jsonResults of the operation

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/uploader-service/storage-files/add-star-by-uuid \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: multipart/form-data' \
  --form uuids=string

POST /uploader-service/storage-files/remove-star-by-uuid — Remove stars

/api-reference/asset-management#tag/Uploader/operation/removeStarByUUID

Remove stars from one or more files.

IMPORTANT: Due to technical limitations, the code examples on the right don't include the form data. If you use the examples, remember to add it.

Example correct cURL request:

curl --location 'https://api.synerise.com/uploader-service/storage-files/remove-star-by-uuid' \
--header 'Authorization: Bearer YOUR_TOKEN' \
--form 'uuids="[\"0ac106beb55c401bac8bc8244e367512\",\"03dc506041e24c3cae284fd3f6611082\"]"'

API consumer: Synerise User

User role permission required: assets_explorer: update

Request body

multipart/form-data · object

FieldTypeRequiredDescription
uuidsstringrequiredFile UUIDs, without dashes (stringified JSON array) Example:["0ac106beb55c401bac8bc8244e367512","03dc506041e24c3cae284fd3f6611082"]

Responses

StatusDescription
200 application/jsonResults of the operation

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/uploader-service/storage-files/remove-star-by-uuid \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: multipart/form-data' \
  --form uuids=string

Documents (legacy)

POST /schema-service/document/preview — Preview document (deprecated)

/api-reference/asset-management#tag/Documents-(legacy)/operation/documentPreview

Preview a document.


API consumer: Synerise User

User role permission required: assets_docs: update

Request body (required)

application/json · schema-service-previewReq

FieldTypeRequiredDescription
contentobjectrequiredJSON content of the document
schemastringoptionalSchema of the document (called "Type" in the Synerise Web Application)

Responses

StatusDescription
200 application/jsonJSON content of the document

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/document/preview \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"content":{},"schema":"containers"}'

POST /schema-service/document/{uuid} — Create document version (deprecated)

/api-reference/asset-management#tag/Documents-(legacy)/operation/documentVersionPost

Create a new version of a document. To modify an existing version of a document, see Update document.


API consumer: Synerise User

User role permission required: assets_docs: update

Parameters

NameInTypeRequiredDescription
uuidpathstringrequiredDocument UUID. The UUID is the same for all versions of a document.

Request body

application/json · object

FieldTypeRequiredDescription
contentobjectoptionalJSON content of the document
descriptionstringoptionalDocument description. Can be an empty string.
namestringoptionalDocument name
versionstringoptionalDocument version

Responses

StatusDescription
200 */*Document

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/document/%7Buuid%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"content":{},"description":"string","name":"string","version":"string"}'

GET /schema-service/document/{id} — Get raw document (deprecated)

/api-reference/asset-management#tag/Documents-(legacy)/operation/rawDocumentGet

Retrieve a single document in raw form (inserts are not processed).


API consumer: Synerise User

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
idpathintegerrequiredDocument ID. Each version of a document has a unique ID.

Responses

StatusDescription
200 application/jsonRaw document

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/schema-service/document/%7Bid%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /schema-service/document/{uuid}/{id} — Update document (deprecated)

/api-reference/asset-management#tag/Documents-(legacy)/operation/documentUpdatePost

Update an existing version of a document. This endpoint does not create a new version. To create a new version, see Create document version.


API consumer: Synerise User

User role permission required: assets_docs: update

Parameters

NameInTypeRequiredDescription
uuidpathstringrequiredDocument UUID. The UUID is the same for all versions of a document.
idpathintegerrequiredDocument ID. Each version of a document has a unique ID.

Request body

application/json · object

FieldTypeRequiredDescription
contentobjectoptionalJSON content of the document
descriptionstringoptionalDocument description. Can be an empty string.
namestringoptionalDocument name

Responses

StatusDescription
200 application/jsonUpdated document

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/document/%7Buuid%7D/%7Bid%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"content":{},"description":"string","name":"string"}'

GET /schema-service/v2/document/slug/{slug}/content — Generate processed document (only content) (deprecated)

/api-reference/asset-management#tag/Documents-(legacy)/operation/generateContentDocumentGetV2

Retrieve a generated document, without any metadata in the response. Inserts are processed.


API consumers: Synerise User, Profile (Client), Anonymous Profile, Workspace (Business Profile)

API key permission required: SCHEMA_SERVICE_DOCUMENT_READ

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
slugpathstringrequiredSlug of the document

Responses

StatusDescription
200 application/jsonGenerated document

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/schema-service/v2/document/slug/%7Bslug%7D/content \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /schema-service/document/slug/{slug}/content — Generate processed document (only content) (deprecated)

/api-reference/asset-management#tag/Documents-(legacy)/operation/generateContentDocumentGet

Retrieve a generated document, without any metadata in the response. Inserts are processed.


API consumers: Synerise User, Profile (Client), Anonymous Profile, Workspace (Business Profile)

API key permission required: SCHEMA_SERVICE_DOCUMENT_READ

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
slugpathstringrequiredDocument slug
versionquerystringoptionalDocument version. If not provided, defaults to the latest version.
pagequeryintegeroptionalPage of items in the document
limitqueryintegeroptionalLimit of items per page

Responses

StatusDescription
200 application/jsonGenerated document

Example request (cURL)

curl --request GET \
  --url 'https://api.synerise.com/schema-service/document/slug/%7Bslug%7D/content?version=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&limit=SOME_INTEGER_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /schema-service/document/slug/{slug}/content — Generate processed document (only content) (deprecated)

/api-reference/asset-management#tag/Documents-(legacy)/operation/generateContentDocumentPost

Retrieve a generated document, without any metadata in the response. Inserts are processed.


API consumers: Synerise User, Profile (Client), Anonymous Profile, Workspace (Business Profile)

API key permission required: SCHEMA_SERVICE_DOCUMENT_READ

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
slugpathstringrequiredDocument slug
versionquerystringoptionalDocument version. If not provided, defaults to the latest version.
pagequeryintegeroptionalPage of items in the document
limitqueryintegeroptionalLimit of items per page

Request body

application/json · object

Responses

StatusDescription
200 application/jsonGenerated document

Example request (cURL)

curl --request POST \
  --url 'https://api.synerise.com/schema-service/document/slug/%7Bslug%7D/content?version=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&limit=SOME_INTEGER_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"property1":"string","property2":"string"}'

GET /schema-service/document/certification/{slug} — Generate certification document with specific slug. (deprecated)

/api-reference/asset-management#tag/Documents-(legacy)/operation/generateCertificationDocumentBySlugGet

Retrieve a certification document. Inserts are processed.


API consumers: Synerise User, Profile (Client)

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
slugpathstringrequiredDocument slug
versionquerystringoptionalDocument version. If not provided, defaults to the latest version.
pagequeryintegeroptionalPage of items in the document
limitqueryintegeroptionalLimit of items per page

Responses

StatusDescription
200 application/jsonGenerated document

Example request (cURL)

curl --request GET \
  --url 'https://api.synerise.com/schema-service/document/certification/%7Bslug%7D?version=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&limit=SOME_INTEGER_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /schema-service/document/slug/{slug} — Generate processed document (deprecated)

/api-reference/asset-management#tag/Documents-(legacy)/operation/generateDocumentGet

Retrieve a generated document. Inserts are processed.


API consumers: Synerise User, Profile (Client), Anonymous Profile

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
slugpathstringrequiredDocument slug
versionquerystringoptionalDocument version. If not provided, defaults to the latest version.
pagequeryintegeroptionalPage of items in the document
limitqueryintegeroptionalLimit of items per page

Responses

StatusDescription
200 application/jsonGenerated document

Example request (cURL)

curl --request GET \
  --url 'https://api.synerise.com/schema-service/document/slug/%7Bslug%7D?version=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&limit=SOME_INTEGER_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /schema-service/document/slug/{slug} — Generate processed document (deprecated)

/api-reference/asset-management#tag/Documents-(legacy)/operation/generateDocumentPost

Retrieve a generated document. Inserts are processed.


API consumers: Synerise User, Profile (Client), Anonymous Profile

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
slugpathstringrequiredDocument slug
versionquerystringoptionalDocument version. If not provided, defaults to the latest version.
pagequeryintegeroptionalPage of items in the document
limitqueryintegeroptionalLimit of items per page

Request body

application/json · object

Responses

StatusDescription
200 application/jsonGenerated document

Example request (cURL)

curl --request POST \
  --url 'https://api.synerise.com/schema-service/document/slug/%7Bslug%7D?version=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&limit=SOME_INTEGER_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"property1":"string","property2":"string"}'

GET /schema-service/document/by-schema/{schema} — Generate documents by schema (deprecated)

/api-reference/asset-management#tag/Documents-(legacy)/operation/documentsBySchemaGet

Generate all documents assigned to a schema. The content is processed.


API consumers: Synerise User, Profile (Client), Anonymous Profile

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
schemapathstringrequiredSchema name
versionquerystringoptionalDocument version. If not defined, all document versions are generated.
pagequeryintegeroptionalPage of items in the document
limitqueryintegeroptionalLimit of items per page

Responses

StatusDescription
200 application/jsonGenerated documents

Example request (cURL)

curl --request GET \
  --url 'https://api.synerise.com/schema-service/document/by-schema/%7Bschema%7D?version=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&limit=SOME_INTEGER_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /schema-service/document — List documents (deprecated)

/api-reference/asset-management#tag/Documents-(legacy)/operation/listDocumentsGet

List all documents in the workspace. You can sort and filter the results. The content is raw.


API consumer: Synerise User

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
searchquerystringoptionalSearch term. The following fields are searched: name, description, version, slug.
sortByqueryenum<"slug:asc", "slug:desc", "name:asc", "name:desc", …>optionalParameter to sort by
limitquerystringoptionalThe maximum number of items to retrieve for pagination
offsetquerystringoptionalOffset for pagination. The first item of the first page has the offset of 0.

Responses

StatusDescription
200 application/jsonList of documents

Example request (cURL)

curl --request GET \
  --url 'https://api.synerise.com/schema-service/document?search=SOME_STRING_VALUE&sortBy=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE' \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /schema-service/document — Create document (deprecated)

/api-reference/asset-management#tag/Documents-(legacy)/operation/createDocumentPostOld

Create a new document.


API consumer: Synerise User

User role permission required: assets_docs: create

Request body

application/json · schema-service-createDocumentReq

FieldTypeRequiredDescription
slugstringrequiredSlug of the document
schemastringrequiredSchema of the document (called "Type" in the Synerise Web Application)
namestringrequiredDocument name
descriptionstringrequiredDocument description. Can be an empty string.
contentobjectrequiredJSON content of the document
versionstringrequiredDocument version

Responses

StatusDescription
200 application/jsonDocument data

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/document \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"slug":"basket","schema":"containers","name":"string","description":"string","content":{},"version":"string"}'

DELETE /schema-service/document — Delete documents (deprecated)

/api-reference/asset-management#tag/Documents-(legacy)/operation/documentsDelete

You can delete one or more documents. This operation is irreversible.


API consumer: Synerise User

User role permission required: assets_docs: delete

Request body (required)

application/json · array<string>

Responses

StatusDescription
200 application/jsonDeletion status

Example request (cURL)

curl --request DELETE \
  --url https://api.synerise.com/schema-service/document \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '["string"]'

GET /schema-service/document/{uuid}/versions — Get document versions (deprecated)

/api-reference/asset-management#tag/Documents-(legacy)/operation/documentVersionsGet

Retrieve all versions of a document. The content is raw.


API consumer: Synerise User

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
uuidpathstringrequiredDocument UUID. The UUID is the same for all versions of a document.

Responses

StatusDescription
200 application/jsonList of document versions

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/schema-service/document/%7Buuid%7D/versions \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /schema-service/document/{uuid}/publish — Publish document (deprecated)

/api-reference/asset-management#tag/Documents-(legacy)/operation/documentPublishPost

Publish a document. You must provide a version in the request body.


API consumer: Synerise User

User role permission required: assets_docs: update

Parameters

NameInTypeRequiredDescription
uuidpathstringrequiredDocument UUID. The UUID is the same for all versions of a document.

Request body (required)

application/json · string

Responses

StatusDescription
200 application/jsonPublishing status

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/document/%7Buuid%7D/publish \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '"1.0.5"'

GET /schema-service/document/slug/{slug}/check — Check if slug is correct (deprecated)

/api-reference/asset-management#tag/Documents-(legacy)/operation/slugCheckGet

Check if the provided slug exists.


API consumer: Synerise User

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
slugpathstringrequiredDocument slug

Responses

StatusDescription
200 application/jsonTrue or False

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/schema-service/document/slug/%7Bslug%7D/check \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

Screen views (legacy)

GET /schema-service/screenViews — Get all screen views (deprecated)

/api-reference/loyalty-and-engagement#tag/Screen-views-(legacy)/operation/listOfScreenViews

Retrieve a paginated list of all screen view campaigns in the workspace.


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: SCHEMA_SERVICE_SCHEMA_READ

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
limitquerystringrequiredThe maximum number of items to retrieve for pagination
pagequeryintegerrequiredThe number of the page to retrieve
statusqueryenum<"DRAFT", "ACTIVE", "SCHEDULED", "PAUSED", …>optionalFilter the results by screen view status

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

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 REPLACE_BEARER_TOKEN'

POST /schema-service/screenViews/byKeys — Get screen views by keys (deprecated)

/api-reference/loyalty-and-engagement#tag/Screen-views-(legacy)/operation/listOfScreenViewsByKeys

Retrieve list of screen view campaigns by keys in the workspace.


API consumer: Synerise User

User role permission required: assets_docs: read

Request body

application/json · array<string>

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/screenViews/byKeys \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '["string"]'

GET /schema-service/screenViews/single/{screenViewId}/{screenViewVersion} — Get screen view (deprecated)

/api-reference/loyalty-and-engagement#tag/Screen-views-(legacy)/operation/getScreenViewByVersion

Retrieve the details of a single screen view campaign.


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: SCHEMA_SERVICE_SCHEMA_READ

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
screenViewIdpathstringrequiredUUID of the screen view
screenViewVersionpathstringrequiredVersion of the screen view

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/schema-service/screenViews/single/%7BscreenViewId%7D/%7BscreenViewVersion%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /schema-service/screenViews/versions/{screenViewId} — Get screen view versions (deprecated)

/api-reference/loyalty-and-engagement#tag/Screen-views-(legacy)/operation/listOfScreenViewVersions

Retrieve all versions of a screen view campaign.


API consumers: Synerise User, Workspace (Business Profile)

API key permission required: SCHEMA_SERVICE_SCHEMA_READ

User role permission required: assets_docs: read

Parameters

NameInTypeRequiredDescription
screenViewIdpathstringrequiredUUID of the screen view
limitquerystringrequiredThe maximum number of items to retrieve for pagination
pagequeryintegerrequiredThe number of the page to retrieve

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

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 REPLACE_BEARER_TOKEN'

GET /schema-service/screenViews/generate — Generate screen view (deprecated)

/api-reference/loyalty-and-engagement#tag/Screen-views-(legacy)/operation/generateScreenViewGet

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: Workspace (Business Profile), Synerise User, Profile (Client), Anonymous Profile

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Responses

StatusDescription
200 application/jsonProcessed JSON content
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/schema-service/screenViews/generate \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

GET /schema-service/v2/screenViews/generate — Generate screen view (deprecated)

/api-reference/loyalty-and-engagement#tag/Screen-views-(legacy)/operation/generateScreenViewWithAdditionalDataGet

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: Workspace (Business Profile), Synerise User, Profile (Client), Anonymous Profile

API key permission required: SCHEMA_SERVICE_SCHEMA_CREATE

User role permission required: assets_docs: create

Responses

StatusDescription
200 application/jsonProcessed JSON content
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request GET \
  --url https://api.synerise.com/schema-service/v2/screenViews/generate \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /schema-service/screenViews/createNew — Initialize screen view (deprecated)

/api-reference/loyalty-and-engagement#tag/Screen-views-(legacy)/operation/initializeScreenViewPost

Create a new screen view campaign. It is created as a blank, without any conditions.


API consumer: Synerise User

User role permission required: assets_docs: create

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/screenViews/createNew \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

POST /schema-service/screenViews/content/{screenViewId}/{screenViewVersion}/copyFromExistingScreenView — Copy content (deprecated)

/api-reference/loyalty-and-engagement#tag/Screen-views-(legacy)/operation/copyContent

Copy content to a screen view draft from another screen view.


API consumer: Synerise User

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
screenViewIdpathstringrequiredUUID of the screen view
screenViewVersionpathstringrequiredVersion of the screen view

Request body

application/json · schema-service-versionedScreenViewKey

FieldTypeRequiredDescription
screenViewIdstringoptionalUUID of the screen view
screenViewVersionstringoptionalVersion of the screen view

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/screenViews/content/%7BscreenViewId%7D/%7BscreenViewVersion%7D/copyFromExistingScreenView \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"screenViewId":"481855c5-f86e-453f-a0fa-d34b5a2be745","screenViewVersion":"string"}'

POST /schema-service/screenViews/content/{screenViewId}/{screenViewVersion} — Add content (deprecated)

/api-reference/loyalty-and-engagement#tag/Screen-views-(legacy)/operation/createContent

Add content to a screen view draft.


API consumer: Synerise User

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
screenViewIdpathstringrequiredUUID of the screen view
screenViewVersionpathstringrequiredVersion of the screen view

Request body

application/json · schema-service-ScreenViewContent

FieldTypeRequiredDescription
jsonobjectrequiredJSON 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%}.
documentsarray<string>requiredAn array of documents. If groups is used, this array must be empty.
dataarray<any>optionalAn array of documents or Brickworks records
groupsarray<schema-service-DocumentGroupId>requiredAn array of document groups, If documents is used, this array must be empty.
groupsOrderbooleanoptionalBy 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

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/screenViews/content/%7BscreenViewId%7D/%7BscreenViewVersion%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"json":{"property1":null,"property2":null},"documents":["string"],"data":[{"slug":"basket"}],"groups":["43c97b25-4a10-45d0-99b7-d472eea2bb24"],"groupsOrder":false}'

POST /schema-service/screenViews/audience/{screenViewId}/{screenViewVersion} — Add audience (deprecated)

/api-reference/loyalty-and-engagement#tag/Screen-views-(legacy)/operation/createAudience

Define the audience for a screen view draft.


API consumer: Synerise User

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
screenViewIdpathstringrequiredUUID of the screen view
screenViewVersionpathstringrequiredVersion of the screen view

Request body

application/json · schema-service-Audience

FieldTypeRequiredDescription
targetTypeenum<"SEGMENT", "QUERY", "ALL">requiredThe 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
segmentsarray<string>optionalAn array of segmentation IDs. Used with targetType: SEGMENT
querystringoptionalStringified analysis object for the segmentation analytics engine. Used with targetType: QUERY. Refer to the Analytics API Reference.

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/screenViews/audience/%7BscreenViewId%7D/%7BscreenViewVersion%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"targetType":"SEGMENT","segments":["string"],"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}}]}}]}}"}'

POST /schema-service/screenViews/publish/{screenViewId}/{screenViewVersion} — Publish screen view (deprecated)

/api-reference/loyalty-and-engagement#tag/Screen-views-(legacy)/operation/publishScreenView

Make the screen view accessible to customers.


API consumer: Synerise User

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
screenViewIdpathstringrequiredUUID of the screen view
screenViewVersionpathstringrequiredVersion of the screen view

Request body

application/json · schema-service-publishRequest

FieldTypeRequiredDescription
overwritebooleanrequiredCurrently unused

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/screenViews/publish/%7BscreenViewId%7D/%7BscreenViewVersion%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"overwrite":true}'

POST /schema-service/screenViews/copyDraftFromExistingScreenView — Copy draft from existing screen view (deprecated)

/api-reference/loyalty-and-engagement#tag/Screen-views-(legacy)/operation/copyDraftFromExistingScreenView

Copy a duplicate of an active screen view. The duplicate is in draft status.


API consumer: Synerise User

User role permission required: assets_docs: create

Request body

application/json · schema-service-versionedScreenViewKey

FieldTypeRequiredDescription
screenViewIdstringoptionalUUID of the screen view
screenViewVersionstringoptionalVersion of the screen view

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/screenViews/copyDraftFromExistingScreenView \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"screenViewId":"481855c5-f86e-453f-a0fa-d34b5a2be745","screenViewVersion":"string"}'

POST /schema-service/screenViews/createDraftFromExistingScreenView — Create draft from existing screen view (deprecated)

/api-reference/loyalty-and-engagement#tag/Screen-views-(legacy)/operation/createDraftFromExistingScreenView

Create a duplicate of an active screen view. The duplicate is in draft status.


API consumer: Synerise User

User role permission required: assets_docs: create

Request body

application/json · schema-service-versionedScreenViewKey

FieldTypeRequiredDescription
screenViewIdstringoptionalUUID of the screen view
screenViewVersionstringoptionalVersion of the screen view

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/screenViews/createDraftFromExistingScreenView \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"screenViewId":"481855c5-f86e-453f-a0fa-d34b5a2be745","screenViewVersion":"string"}'

PUT /schema-service/screenViews/single/{screenViewId}/{screenViewVersion}/description — Update screen view description (deprecated)

/api-reference/loyalty-and-engagement#tag/Screen-views-(legacy)/operation/updateDescriptionOfScreenView

Update the description of a screen view. You can update the descriptions of active screen views.


API consumer: Synerise User

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
screenViewIdpathstringrequiredUUID of the screen view
screenViewVersionpathstringrequiredVersion of the screen view

Request body

application/json · string

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request PUT \
  --url https://api.synerise.com/schema-service/screenViews/single/%7BscreenViewId%7D/%7BscreenViewVersion%7D/description \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '"string"'

PUT /schema-service/screenViews/single/{screenViewId}/{screenViewVersion}/priority — Update screen view priority (deprecated)

/api-reference/loyalty-and-engagement#tag/Screen-views-(legacy)/operation/updatePriorityOfScreenView

Update the priority of a screen view. You can update the priorities of active screen views.


API consumer: Synerise User

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
screenViewIdpathstringrequiredUUID of the screen view
screenViewVersionpathstringrequiredVersion of the screen view

Request body (required)

application/json · integer

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request PUT \
  --url https://api.synerise.com/schema-service/screenViews/single/%7BscreenViewId%7D/%7BscreenViewVersion%7D/priority \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data 0

POST /schema-service/screenViews/discardChanges/{screenViewId}/{screenViewVersion} — Discard changes (deprecated)

/api-reference/loyalty-and-engagement#tag/Screen-views-(legacy)/operation/discardChanges

Discard the changes made in a version of a screen view.


API consumer: Synerise User

User role permission required: assets_docs: create

Parameters

NameInTypeRequiredDescription
screenViewIdpathstringrequiredUUID of the screen view
screenViewVersionpathstringrequiredVersion of the screen view

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request POST \
  --url https://api.synerise.com/schema-service/screenViews/discardChanges/%7BscreenViewId%7D/%7BscreenViewVersion%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

DELETE /schema-service/screenViews/delete/{screenViewId} — Delete screen view (deprecated)

/api-reference/loyalty-and-engagement#tag/Screen-views-(legacy)/operation/deleteScreenView

Delete a screen view and all its versions. This operation is irreversible.


API consumer: Synerise User

User role permission required: assets_docs: delete

Parameters

NameInTypeRequiredDescription
screenViewIdpathstringrequiredUUID of the screen view

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request DELETE \
  --url https://api.synerise.com/schema-service/screenViews/delete/%7BscreenViewId%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

DELETE /schema-service/screenViews/single/delete/{screenViewId}/{screenViewVersion} — Delete screen view version (deprecated)

/api-reference/loyalty-and-engagement#tag/Screen-views-(legacy)/operation/deleteSingleScreenView

Delete a version of a screen view.


API consumer: Synerise User

User role permission required: assets_docs: delete

Parameters

NameInTypeRequiredDescription
screenViewIdpathstringrequiredUUID of the screen view
screenViewVersionpathstringrequiredVersion of the screen view

Responses

StatusDescription
200 application/jsonSuccess
400 application/jsonSee error message for details
401 application/jsonUnauthorized: wrong consumer scope; token missing/expired/invalid; invalid API key; etc.
403 application/jsonForbidden; insufficient permissions
404 application/jsonResource not found
500 application/jsonSee error message for details

Example request (cURL)

curl --request DELETE \
  --url https://api.synerise.com/schema-service/screenViews/single/delete/%7BscreenViewId%7D/%7BscreenViewVersion%7D \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

Back to all API categories