Brand Brain Commerce API (1.12.0)

Download OpenAPI specification:

Introduction

The Brand Brain Commerce API enables seamless management of jobs related to Content Generation, Content Analysis, and Content Adaptation. Through this API, users can initiate jobs for these services and track their progress in real-time.

Overview

This API serves as a central gateway for managing content services. Users can:

  • Submit jobs for Content Generation, Content Analysis and Content Adaptation.
  • Monitor job progress using the provided job_id.
  • Retrieve results asynchronously upon job completion.

Validation Process

When a job request is submitted, the API performs an initial validation of the input payload to ensure it adheres to the supported formats and configuration standards. Note: This validation does not verify the correctness of submitted products or their IDs.

Background Operations

Once validated, the API initiates a background process that:

  1. Retrieves necessary product data.
  2. Executes the requested content operation (e.g generation, analysis or adaptation).
  3. Delivers the results to the designated output location asynchronously.

Job Tracking

Upon successful submission, the API returns a job_id. Users can leverage this ID to:

  • Check the status of their job.
  • Access the generated output when the job is completed.

The Brand Brain Commerce API streamlines the handling of complex content workflows, enabling efficient and scalable operations for your business needs.

Content Generation

Generate content for the given product data.

  • Submit a job for Content Generation.
  • Query the status of the job.
  • Retrieve the generated result.
  • Submit feedback for the generated content.
  • Retrieve the Content Configuration used for the job.

Submit Content Generation job

Entrypoint to submit a job for Content Generation.

Submits a job for Content Generation using the supplied parameters.

Authorizations:
ApiGatewayApiKey
Request Body schema: application/json
required

The parameters for the Content Generation job.

Ensure that either products or product_ids is provided, but not both. Requests containing both will be rejected.

external_tracking_id
string non-empty

An optional external job ID to be used for internal tracking purposes.

product_ids
Array of strings non-empty [ items non-empty ]

The IDs of the products for which content will be generated.
The product data must have already been submitted and stored within the system.

Note: only product_ids or products can be given, not both.

Array of objects (Product) non-empty

The list of products for which content will be generated.

Note: only products or product_ids can be given, not both.

skip_grouping
boolean
Default: false

Whether to skip grouping the products into variations.

Note: if a master_pdp is given in the content_generation_params, then this flag is ignored.

required
object

Parameters for the Content Generation job.

generation_model_name
string (Content Generation LLM Model) non-empty
Default: "gpt-4.1"
Value: "gpt-4.1"

The name of the LLM model to be used.

callback_url
string <uri> (Callback URL) non-empty

The URL is called whenever there are changes in the job status, providing real-time updates on progress or completion.

Responses

Callbacks

Request samples

Content type
application/json
Example

Includes a minimum request required to submit with products and custom configuration (content_generation_params.content_config).

Submitting product_ids in place of products is also possible, refer to the schema or other examples for details.

{
  • "external_tracking_id": "8a6953e1-cc2b-4be6-8d8b-f0a87daf7334",
  • "products": [
    ],
  • "content_generation_params": {
    }
}

Response samples

Content type
application/json
{
  • "job_id": "13d87fb8-a940-447c-9755-dbe6c631ef57"
}

Callback payload samples

Callback
POST: Job Updates
Content type
application/json
{
  • "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
  • "status": "completed"
}

Get Content Generation job status

Retrieve the status of a Content Generation job.

Authorizations:
ApiGatewayApiKey
path Parameters
job_id
required
string
Example: 13d87fb8-a940-447c-9755-dbe6c631ef57

The ID of the job to query.

Responses

Response samples

Content type
application/json
Example
{
  • "status": "completed",
  • "message": "The job has completed successfully."
}

Get Content Generation job result

Retrieve the result of a Content Generation job.

Authorizations:
ApiGatewayApiKey
path Parameters
job_id
required
string
Example: 13d87fb8-a940-447c-9755-dbe6c631ef57

The ID of the job to query.

Responses

Response samples

Content type
application/json
Example

Content Generation was successful for one Product.

{
  • "01234567": {
    }
}

Get Content Generation job Content Configuration

Retrieve the used Content Configuration for a Content Generation job.

Authorizations:
ApiGatewayApiKey
path Parameters
job_id
required
string <uuid>
Example: 13d87fb8-a940-447c-9755-dbe6c631ef57

The ID of the job to query.

Responses

Response samples

Content type
application/json
{
  • "guidelines": [
    ],
  • "guidelines_shortener": [
    ],
  • "restrictions": [
    ],
  • "word_map": {
    },
  • "tone": {
    },
  • "keyword_groups": {
    },
  • "client": {
    },
  • "content_types": {
    }
}

Submit Feedback for Content Generation job

Submit feedback for a Content Generation job.

Authorizations:
ApiGatewayApiKey
path Parameters
job_id
required
string
Example: 13d87fb8-a940-447c-9755-dbe6c631ef57

The ID of the job to query.

Request Body schema: application/json
required

The feedback for the Content Generation job.

product_id
required
string

The ID of the product for which content was generated.

required
object (PDP Content)

The initial PDP content.

required
object (PDP Content)

The corrected PDP content.

required
Array of objects

Responses

Request samples

Content type
application/json
{
  • "product_id": "1234567890123456",
  • "initial_pdp_content": {
    },
  • "corrected_pdp_content": {
    },
  • "comment_history": [
    ]
}

Response samples

Content type
application/json
Example

When the given request body does not meet the spec.

{
  • "code": "bad_request",
  • "message": "Invalid request body"
}

Review Summariser

Generate a Review Summaries for a given list of reviews.

  • Submit a job for Review Summariser - Content Analysis.
  • Query the status of the job.
  • Retrieve the generated result.

Submit Review Summariser - Content Analysis job

Entrypoint to submit a job for Review Summariser - Content Analysis.

Submits a job for to summarise reviews.

Authorizations:
ApiGatewayApiKey
Request Body schema: application/json
required

The parameters for the Review Summariser - Content Analysis job.

external_tracking_id
string non-empty

An optional external job ID to be used for internal tracking purposes.

market
required
string (Market)
Enum: "ar" "be" "bg" "bo" "br" "cl" "cn" "co" "cr" "cz" "de" "dk" "do" "ec" "ee" "es" "fi" "fr" "gb" "gr" "gt" "hn" "hu" "id" "it" "jp" "kr" "lt" "lv" "mx" "ni" "nl" "no" "pa" "pe" "pl" "pr" "pt" "py" "ro" "ru" "se" "si" "sk" "sv" "tr" "ua" "uk" "us" "uy" "ve"

The market code for which content is being analysed.

language
required
string (Language)
Enum: "bg" "cs" "da" "de" "el" "en" "es" "et" "fi" "fr" "hu" "id" "it" "ja" "ko" "lt" "lv" "nb" "nl" "pl" "pt" "ro" "ru" "sk" "sl" "sv" "tr" "uk" "zh"

The language code for which content is being analysed.

product_desc
required
string non-empty

A description of the product being summarised.

output_id
required
string non-empty

The ID to store the generated Review Summaries report under.

review_texts
Array of strings [ 1 .. 1000 ] characters

The list of review texts to be summarised.

Note: Only the first 200 reviews will be used to identify highlights and shopping barriers.

product_ids
Array of strings

The list of product IDs associated with the reviews.

Note: Only product_ids or review_texts should be provided, not both.

callback_url
string <uri> (Callback URL) non-empty

The URL is called whenever there are changes in the job status, providing real-time updates on progress or completion.

Responses

Callbacks

Request samples

Content type
application/json
Example

Includes giving Review Texts.

This example shows how the user can submit a request where review texts are given via the API.

Note: requests will be rejected if both review_texts and product_ids are given.

{
  • "market": "uk",
  • "language": "en",
  • "product_desc": "A fabulous product",
  • "output_id": "myVirtualProduct",
  • "review_texts": [
    ]
}

Response samples

Content type
application/json
{
  • "job_id": "13d87fb8-a940-447c-9755-dbe6c631ef57"
}

Callback payload samples

Callback
POST: Job Updates
Content type
application/json
{
  • "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
  • "status": "completed"
}

Get status for a Review Summariser - Content Analysis job

Retrieve the status of a Review Summariser - Content Analysis job.

Authorizations:
ApiGatewayApiKey
path Parameters
job_id
required
string
Example: 13d87fb8-a940-447c-9755-dbe6c631ef57

The ID of the job to query.

Responses

Response samples

Content type
application/json
Example
{
  • "status": "completed",
  • "message": "The job has completed successfully."
}

Get result of a Review Summariser - Content Analysis job

Retrieve the result of a Review Summariser - Content Analysis job.

Authorizations:
ApiGatewayApiKey
path Parameters
job_id
required
string
Example: 13d87fb8-a940-447c-9755-dbe6c631ef57

The ID of the job to query.

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Tone of Voice

Generate a Tone of Voice (Style Guide) using the given Product data.

  • Submit a job for Tone of Voice - Content Analysis.
  • Query the status of the job.
  • Retrieve the generated result.

Submit Tone of Voice - Content Analysis job Deprecated

Entrypoint to submit a job for Tone of Voice - Content Analysis.

Submits a job for to extract the Tone of Voice from the supplied PDP.

⚠️ This endpoint has been replaced by new and improved functionality in the Tools API.
Authorizations:
ApiGatewayApiKey
Request Body schema: application/json
required

The parameters for the Tone of Voice - Content Analysis job.

external_tracking_id
string non-empty

An optional external job ID to be used for internal tracking purposes.

required
Array of objects [ 1 .. 5 ] items
analysis_model_name
string (LLM Model) non-empty
Enum: "gpt-4.1" "gpt-5-chat"

The name of the LLM model to be used.

callback_url
string <uri> (Callback URL) non-empty

The URL is called whenever there are changes in the job status, providing real-time updates on progress or completion.

Responses

Callbacks

Request samples

Content type
application/json
{
  • "external_tracking_id": "8a6953e1-cc2b-4be6-8d8b-f0a87daf7334",
  • "items": [
    ],
  • "analysis_model_name": "gpt-4.1",
}

Response samples

Content type
application/json
{
  • "job_id": "13d87fb8-a940-447c-9755-dbe6c631ef57"
}

Callback payload samples

Callback
POST: Job Updates
Content type
application/json
{
  • "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
  • "status": "completed"
}

Get status for a Tone of Voice - Content Analysis job Deprecated

Retrieve the status of a Tone of Voice - Content Analysis job.

⚠️ This endpoint has been replaced by new and improved functionality in the Tools API.
Authorizations:
ApiGatewayApiKey
path Parameters
job_id
required
string
Example: 13d87fb8-a940-447c-9755-dbe6c631ef57

The ID of the job to query.

Responses

Response samples

Content type
application/json
Example
{
  • "status": "completed",
  • "message": "The job has completed successfully."
}

Get result of a Tone of Voice - Content Analysis job Deprecated

Retrieve the result of a Tone of Voice - Content Analysis job.

⚠️ This endpoint has been replaced by new and improved functionality in the Tools API.
Authorizations:
ApiGatewayApiKey
path Parameters
job_id
required
string
Example: 13d87fb8-a940-447c-9755-dbe6c631ef57

The ID of the job to query.

Responses

Response samples

Content type
application/json
{
  • "tone_of_voice": "string",
  • "writing_style": "string",
  • "target_audience": "string",
  • "grammar": "string",
  • "emotional_tone": "string",
  • "punctuation": "string",
  • "language": "string",
  • "pitch": "string",
  • "choice_of_words": "string",
  • "use_of_emoticons": "string",
  • "pattern": "string",
  • "industry": "string"
}

Product Classification

Generate a Product Classification for a given product.

Classify Product Deprecated

Classify a product according to the GPC Schema.

This is based on the GS1's GPC schema available at https://gpc-browser.gs1.org/.
Note: There might be a slight delay between us loading the latest GPC schema and it being for product classification.

⚠️ This service has been deprecated in favour of the 'Submit a Product Classification Job' endpoint.
Please switch to this new endpoint as soon as possible as this endpoint will be removed in a future release.
Authorizations:
ApiGatewayApiKey
Request Body schema: application/json
required

The parameters for the Product Classification - Content Analysis job.

product_name
required
string [ 1 .. 128 ] characters

The name of the product to classify.

product_description
required
string [ 1 .. 512 ] characters

The description of the product to classify.

required
Array of objects (Product Attributes Item) [ 1 .. 16 ] items

The attributes of the product.

Try to include only relevant attributes (e.g. product type, product category) that are likely to be useful for classification, as too much information can lead to an incorrect classification.

Responses

Request samples

Content type
application/json
{
  • "product_name": "Generic Brand Voluminous Lash Paradise Washable Mascara",
  • "product_description": "Revolutionary formula with intense volume and spectacular length.",
  • "product_attributes": [
    ]
}

Response samples

Content type
application/json
{
  • "segment": {
    },
  • "family": {
    },
  • "class": {
    },
  • "brick": {
    }
}

Submit a Product Classification Job

Submits a request to classify a product based on the target channel and market taxonomy.

Authorizations:
ApiGatewayApiKey
Request Body schema: application/json
external_tracking_id
string non-empty

Optional external job ID for internal tracking.

required
object (Product Classification - Product)

The product details required for product classification.

channel
string (Product Classification Channel)
Default: "gpc"
Enum: "gpc" "google"

The channel for which the classification is relevant.

Locale - GPC (string) or Locale - Google (string)
callback_url
string <uri> (Callback URL) non-empty

The URL is called whenever there are changes in the job status, providing real-time updates on progress or completion.

Responses

Callbacks

Request samples

Content type
application/json
Example

A minimal request to classify a product using the GPC taxonomy.

{
  • "product": {
    },
  • "channel": "gpc"
}

Response samples

Content type
application/json
{
  • "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f"
}

Callback payload samples

Callback
POST: Job Updates
Content type
application/json
{
  • "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
  • "status": "completed"
}

Get a Product Classification job

Retrieves the current status and result (if any) of a Product Classification job.

Authorizations:
ApiGatewayApiKey
path Parameters
job_id
required
string <uuid>
Example: 13d87fb8-a940-447c-9755-dbe6c631ef57

The ID of the job to query.

Responses

Response samples

Content type
application/json
Example

A job that completed successfully with a GPC classification result.

{
  • "status": "completed",
  • "result": {
    }
}

Channel Adaptation

Generate content for a new channel based on the given examples.

  • Submit a job for Channel - Content Adaptation
  • Query the status of the job.
  • Retrieve the generated result.
  • Retrieve the Content Configuration used for the job.

Submit Channel - Content Adaptation job

Entrypoint to submit a job for Channel - Content Adaptation.

Submits a job for to adapt the given content based on the given PDPs in the target channel.

The content_types that will be generated are explained in our User Guide - Content Generator and Channel Adaptation Functionalities - Channel Adaptation.

Authorizations:
ApiGatewayApiKey
Request Body schema: application/json
required

The parameters for the Channel - Content Adaptation job.

external_tracking_id
string non-empty

An optional external job ID to be used for internal tracking purposes.

required
Array of objects (Channel Content Adaptation Item) non-empty

The product and PDP pairings for adaptation.

required
object

Parameters for the Content Generation job.

adaptation_model_name
string (Channel Content Adaptation LLM Model) non-empty
Default: "gpt-4.1"
Value: "gpt-4.1"

The name of the LLM model to be used.

callback_url
string <uri> (Callback URL) non-empty

The URL is called whenever there are changes in the job status, providing real-time updates on progress or completion.

Responses

Callbacks

Request samples

Content type
application/json
{
  • "external_tracking_id": "8a6953e1-cc2b-4be6-8d8b-f0a87daf7334",
  • "items": [
    ],
  • "content_generation_params": {
    },
  • "adaptation_model_name": "gpt-4.1",
}

Response samples

Content type
application/json
{
  • "job_id": "13d87fb8-a940-447c-9755-dbe6c631ef57"
}

Callback payload samples

Callback
POST: Job Updates
Content type
application/json
{
  • "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
  • "status": "completed"
}

Get status for a Channel - Content Adaptation job

Retrieve the status of a Channel - Content Adaptation job.

Authorizations:
ApiGatewayApiKey
path Parameters
job_id
required
string
Example: 13d87fb8-a940-447c-9755-dbe6c631ef57

The ID of the job to query.

Responses

Response samples

Content type
application/json
Example
{
  • "status": "completed",
  • "message": "The job has completed successfully."
}

Get result of a Channel - Content Adaptation job

Retrieve the result of a Channel - Content Adaptation job.

Authorizations:
ApiGatewayApiKey
path Parameters
job_id
required
string
Example: 13d87fb8-a940-447c-9755-dbe6c631ef57

The ID of the job to query.

Responses

Response samples

Content type
application/json
Example

Channel - Content Adaptation was successful for one Product.

{
  • "01234567": {
    }
}

Get Content Configuration for a Channel - Content Adaptation job

Retrieve the Content Configuration for a Channel - Content Adaptation job.

Authorizations:
ApiGatewayApiKey
path Parameters
job_id
required
string <uuid>
Example: 13d87fb8-a940-447c-9755-dbe6c631ef57

The ID of the job to query.

Responses

Response samples

Content type
application/json
{
  • "guidelines": [
    ],
  • "guidelines_shortener": [
    ],
  • "restrictions": [
    ],
  • "word_map": {
    },
  • "tone": {
    },
  • "keyword_groups": {
    },
  • "client": {
    },
  • "content_types": {
    }
}

Tone of Voice

Apply a Tone of Voice (Style Guide) to the given Product data.

  • Submit a job for Tone of Voice - Content Adaptation.
  • Query the status of the job.
  • Retrieve the generated result.

Submit Tone of Voice - Content Adaptation job

Entrypoint to submit a job for Tone of Voice - Content Adaptation.

Submits a job for to adapt the given content using the given Tone of Voice.

Authorizations:
ApiGatewayApiKey
Request Body schema: application/json
required

The parameters for the Tone of Voice - Content Adaptation job.

external_tracking_id
string non-empty

An optional external job ID to be used for internal tracking purposes.

required
object or null (Style Guide)

A Style Guide for Tone of Voice.

required
object (PDP Content)

The PDP (Product Detail Page) content provided is a schema for presenting detailed information about a specific product. It represents the content as a structured array, where each key defines a content type (e.g., title, description) and its corresponding value provides the associated content.

adaptation_model_name
string (LLM Model) non-empty
Default: "gpt-4.1"
Enum: "gpt-4.1" "gpt-5-chat"

The name of the LLM model to be used.

callback_url
string <uri> (Callback URL) non-empty

The URL is called whenever there are changes in the job status, providing real-time updates on progress or completion.

Responses

Callbacks

Request samples

Content type
application/json
{
  • "external_tracking_id": "5f13f180-7ef0-41d0-ab70-1e3d7ab864c9",
  • "style_guide": {
    },
  • "content": {
    },
  • "adaptation_model_name": "gpt-4.1"
}

Response samples

Content type
application/json
{
  • "job_id": "13d87fb8-a940-447c-9755-dbe6c631ef57"
}

Callback payload samples

Callback
POST: Job Updates
Content type
application/json
{
  • "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
  • "status": "completed"
}

Get status for a Tone of Voice - Content Adaptation job

Retrieve the status of a Tone of Voice - Content Adaptation job.

Authorizations:
ApiGatewayApiKey
path Parameters
job_id
required
string
Example: 13d87fb8-a940-447c-9755-dbe6c631ef57

The ID of the job to query.

Responses

Response samples

Content type
application/json
Example
{
  • "status": "completed",
  • "message": "The job has completed successfully."
}

Get result of a Tone of Voice - Content Adaptation job

Retrieve the result of a Tone of Voice - Content Adaptation job.

Authorizations:
ApiGatewayApiKey
path Parameters
job_id
required
string
Example: 13d87fb8-a940-447c-9755-dbe6c631ef57

The ID of the job to query.

Responses

Response samples

Content type
application/json
{
  • "title": "This is a test title.",
  • "desc": "This is a description lorem ipsum dolor sit amet."
}

Translation

Translate the given content into the given target language(s).

  • Submit Translation job - Content Adaptation
  • Get status of a translation job
  • Get result of a translation job

Submit translation job - Content Adaptation

Initiates a translation job to adapt product detail page (PDP) content from English to specified target languages. The request includes the content and list of target languages.

Authorizations:
ApiGatewayApiKey
Request Body schema: application/json
required

The following parameters must be defined to translate PDP content into desired language

external_tracking_id
string non-empty

Tracks the translation job with an optional external job ID, allowing seamless internal tracking.

required
object (PDP Content)

The PDP (Product Detail Page) content provided is a schema for presenting detailed information about a specific product. It represents the content as a structured array, where each key defines a content type (e.g., title, description) and its corresponding value provides the associated content.

languages
required
Array of arrays [ 1 .. 5 ] items

Specifies the target languages for adapting the PDP content. You can specify upto 5 target languages for translation.

object

Provides a custom map of keyword translations, replacing automatic translations where needed for greater accuracy and contextual relevance.

translation_model_name
string (LLM Model) non-empty
Default: "gpt-4.1"
Enum: "gpt-4.1" "gpt-5-chat"

The name of the LLM model to be used.

callback_url
string <uri> (Callback URL) non-empty

The URL is called whenever there are changes in the job status, providing real-time updates on progress or completion.

Responses

Callbacks

Request samples

Content type
application/json
{
  • "external_tracking_id": "8a6953e1-cc2b-4be6-8d8b-f0a87daf7334",
  • "pdp_content": {
    },
  • "languages": [
    ],
  • "translated_keywords": {
    },
  • "translation_model_name": "gpt-4.1",
}

Response samples

Content type
application/json
{
  • "job_id": "13d87fb8-a940-447c-9755-dbe6c631ef57"
}

Callback payload samples

Callback
POST: Job Updates
Content type
application/json
{
  • "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
  • "status": "completed"
}

Get status for a Translation - Content Adaptation job

Retrieve the status of a Translation - Content Adaptation job.

Authorizations:
ApiGatewayApiKey
path Parameters
job_id
required
string
Example: 13d87fb8-a940-447c-9755-dbe6c631ef57

The ID of the job to query.

Responses

Response samples

Content type
application/json
Example
{
  • "status": "completed",
  • "message": "The job has completed successfully."
}

Get result of a Translation - Content Adaptation job

Retrieve the result of a Translation - Content Adaptation job.

Authorizations:
ApiGatewayApiKey
path Parameters
job_id
required
string
Example: 13d87fb8-a940-447c-9755-dbe6c631ef57

The ID of the job to query.

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    }
]

Content Configuration Management

Manage the Content Configuration.

  • Get a list of stored Content Configurations.
  • Store a new Content Configurations.
  • Get a stored Content Configuration.
  • Delete a stored Content Configuration.

List Content Configurations

Lists the Content Configurations

A maximum of 100 configurations will be returned.

Authorizations:
ApiGatewayApiKey
query Parameters
scope
string (Config Scope) non-empty
Enum: "PUBLIC" "PRIVATE"
Example: scope=PRIVATE

The scope of the configuration.

All configs created by a user are PRIVATE.
PUBLIC configs are those created by the system and cannot be updated or deleted.

If no scope is provided, the endpoint will return all configs available for the client across all scopes.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Content Configuration

Create a new content configuration.

Authorizations:
ApiGatewayApiKey
Request Body schema: application/json
required

The content configuration details.

name
required
string^[a-z]{1,20}$

The name of the configuration.

description
string or null [ 1 .. 256 ] characters

An optional description of the configuration.

required
object (Content Config)

The content configuration.

Responses

Request samples

Content type
application/json
{
  • "name": "laptops",
  • "description": "My custom configuration for laptops.",
  • "content_config": {
    }
}

Response samples

Content type
application/json
{
  • "config_id": "d1d31429-d888-4f1c-b9c1-4e842f9bce5b",
  • "name": "laptops",
  • "description": "My custom configuration for laptops.",
  • "content_config": {
    },
  • "scope": "PRIVATE",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Get Content Configuration

Retrieves a Content Configuration by the specified config_id.

Authorizations:
ApiGatewayApiKey
path Parameters
config_id
required
string <uuid> non-empty

The unique identifier for the configuration.

Responses

Response samples

Content type
application/json
{
  • "config_id": "d1d31429-d888-4f1c-b9c1-4e842f9bce5b",
  • "name": "laptops",
  • "description": "My custom configuration for laptops.",
  • "content_config": {
    },
  • "scope": "PRIVATE",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Delete Content Configuration

Delete a Content Configuration by the specified config_id.

Authorizations:
ApiGatewayApiKey
path Parameters
config_id
required
string <uuid> non-empty

The unique identifier for the configuration.

Responses

Response samples

Content type
application/json
Example
{
  • "code": "string",
  • "message": "string",
  • "detail": { }
}

Merge Content Configurations

Merge Content Configurations.

  • Submit a merge Content Configurations job.
  • Get the status of a merge Content Configurations job.
  • Retrieve the result of a merge Content Configurations job.

Submit merge Content Configurations job

Merge multiple Content Configurations into a single configuration.

Authorizations:
ApiGatewayApiKey
Request Body schema: application/json
required

The content configuration details.

external_tracking_id
string non-empty

An optional external job ID to be used for internal tracking purposes.

required
Array of Content Config (object) or Content Config ID (string) (Content Config Array) [ 2 .. 5 ] items

Multiple content configurations to be used.

callback_url
string <uri> (Callback URL) non-empty

The URL is called whenever there are changes in the job status, providing real-time updates on progress or completion.

Responses

Callbacks

Request samples

Content type
application/json
{
  • "external_tracking_id": "8a6953e1-cc2b-4be6-8d8b-f0a87daf7334",
  • "content_config": [
    ],
}

Response samples

Content type
application/json
{
  • "job_id": "13d87fb8-a940-447c-9755-dbe6c631ef57"
}

Callback payload samples

Callback
POST: Job Updates
Content type
application/json
{
  • "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
  • "status": "completed"
}

Get merge Content Configurations job status

Retrieve the status of a merge Content Configurations job.

Authorizations:
ApiGatewayApiKey
path Parameters
job_id
required
string
Example: 13d87fb8-a940-447c-9755-dbe6c631ef57

The ID of the job to query.

Responses

Response samples

Content type
application/json
Example
{
  • "status": "completed",
  • "message": "The job has completed successfully."
}

Get merge Content Configurations job result

Retrieve the result of a merge Content Configurations job.

Authorizations:
ApiGatewayApiKey
path Parameters
job_id
required
string
Example: 13d87fb8-a940-447c-9755-dbe6c631ef57

The ID of the job to query.

Responses

Response samples

Content type
application/json
{
  • "content_config": {
    },
  • "warnings": [
    ]
}

Channel Management

Manage the configuration for channels.

  • Get the content types list for the given channel and locale.
  • Get a list of available channels.

Get content types for a channel/locale pair

Retrieve the content types allowed for a specific channel/locale pair.

Authorizations:
ApiGatewayApiKey
path Parameters
channel
required
string
Example: channel

The ID of the channel.

locale
required
string
Example: en_uk

The locale of the channel.

Responses

Response samples

Content type
application/json
[
  • "title",
  • "desc",
  • "bullets"
]

Get list of available channels

Retrieve list of all available channels (and associated locales).

Authorizations:
ApiGatewayApiKey

Responses

Response samples

Content type
application/json
{
  • "en_uk": [
    ],
  • "de_de": [
    ]
}

Job Management

Manage the jobs.

  • Get the list of jobs.

List all jobs

Retrieve all the jobs that have been submitted by a client.

Authorizations:
ApiGatewayApiKey
query Parameters
page_token
string non-empty

Optional starting point (page token returned in previous request) for listing jobs.

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "next_page_token": "eyJqb2JfaWQiOiAiNGI5Njc3ZjktMTY2YS00ZmE3LTk5YjctODg4YWMxNzZmNmE0IiwgImNsaWVudF9pZCI6ICJhbHRlcm5hdGl2ZSIsICJqb2JfY3JlYXRpb25fZGF0ZSI6ICIyMDI0LTA5LTE5VDE0OjEzOjQxIn0"
}

Product

product_id
required
string non-empty

The unique identifier for the product.

product_name
required
string non-empty

The name of the product.

product_description
required
string non-empty

A description of the product.

brand
required
string non-empty

The brand of the product, e.g. nike. This is used to lookup the brand in the brand taxonomy. Is not to appear in the content.

market
required
string non-empty

The market of the product, e.g. uk. This is used to lookup the market in the market taxonomy. Is not to appear in the content.

language
required
string non-empty

The language of the product, e.g. en. This is used to specify which language to use when generating the content.

variant_group_id
required
string non-empty

The variant group ID of the product. This is used to group products together that are variants of each other. For example, a t-shirt that comes in different sizes and colours would have the same variant_group_id. This is used to ensure that the content generated for each variant is similar.

When providing variants, ensure that the first 'product' (first value in product or product_ids) is the primary/master 'product'.

object

Keywords for the product. All the keywords are grouped by keyword groups. Groups are used to determine how the keyword should be used.

Within keywords, Legal Claims/Disclaimers can be provided to be added to the description and bullet points of the product. Legal Claims are divided into must and optional Claims. Must Claims are verbatim, while optional Claims are non-verbatim.

For more information, see our User Guide - Keywords - Claims/Disclaimers.

Array of objects

Reviews for the product.

Note: Only the first 200 reviews will be used to identify highlights and shopping barriers.

required
Array of objects non-empty

Attributes for the product. These arbitrary attributes that are used to generate the content. For example, the attribute ean could be used to generate the content, they are attributes that are very specific to the product type.

{
  • "product_id": "0000099999999",
  • "product_name": "Tester",
  • "product_description": "Some product description.",
  • "brand": "satalia_gen",
  • "market": "uk",
  • "language": "en",
  • "variant_group_id": "P9999999",
  • "keywords": {
    },
  • "reviews": [
    ],
  • "attributes": [
    ]
}

PDP Content

additional property
string or Array of strings
{
  • "title": "High Performance Laptop",
  • "desc": "Designed for ultimate performance and versatility",
  • "howtouse": "Simply plug in and power up for an enhanced computing experience",
  • "bullets": [
    ]
}

Content Config

guidelines
Array of strings or null (Guidelines)

Guidelines for the content.

Guidelines are used to provide instructions for the Content Generation.

guidelines_shortener
Array of strings or null (GuidelinesShortener)

Guidelines for when shortening content. Guidelines are used to provide instructions for the Content Generation.

restrictions
Array of strings or null (Restrictions)

Restrictions for the content.

Restrictions are used to provide restrictions for the Content Generation.

object or null (Keyword Groups)

Mapping of keyword groups to their use in the content.

Keyword groups to be used for the content.

object or null (Word Map)

A map of words to be replaced in the content.

The key is the word to be replaced and the value is the word to replace with.

object (Tone)

Tone options to be included in the content.

Tone options are expected to be 'indexed' by Brand, and then include any key-value pair.

object or null (Client Config)

Mapping of client configuration for Content Generation.

object or null (Style Guide)

A Style Guide for Tone of Voice.

object (Content Types Config)

Specific configuration for each content type.

{
  • "guidelines": [
    ],
  • "guidelines_shortener": [
    ],
  • "restrictions": [
    ],
  • "word_map": {
    },
  • "tone": {
    },
  • "keyword_groups": {
    },
  • "client": {
    },
  • "content_types": {
    }
}

Style Guide (Tone of Voice)

tone_of_voice
string
writing_style
string
target_audience
string
grammar
string
emotional_tone
string
punctuation
string
language
string
pitch
string
choice_of_words
string
use_of_emoticons
string
pattern
string
industry
string
{
  • "tone_of_voice": "string",
  • "writing_style": "string",
  • "target_audience": "string",
  • "grammar": "string",
  • "emotional_tone": "string",
  • "punctuation": "string",
  • "language": "string",
  • "pitch": "string",
  • "choice_of_words": "string",
  • "use_of_emoticons": "string",
  • "pattern": "string",
  • "industry": "string"
}