Skip to main content

Brand Voices

Base URL: https://app.neuroflash.com/api/brand-voice-service

Create, manage, and apply brand voices for consistent content generation.

Create a new brand voice

POST/v1/workspaces/{workspaceId}/brand-voices

Create a new brand voice for the given workspace.

Path Parameters

ParameterTypeRequiredDescription
workspaceIdstringYesWorkspace ID (uuid4)

Request Body

FieldTypeRequiredDescription
abbreviationRulesstringYes
activebooleanYes
activeVoicebooleanYes
advancedRulesarray<string>Yes
brandobjectYes
addressstringYes
emailstringYes
facebookLinkstringYes
instagramLinkstringYes
linkedinLinkstringYes
namestringYes
phonesarray<string>Yes
valuesarray<string>Yes
websitestringYes
contentExamplesarray<object>Yes
contentstringYes
sourcestringYes
urlstringYes
countrystringYes
creationSourceDocumentIDstringYes
creationSourceTextstringYes
creationSourceTypestringYes
creationSourceURLstringYes
currencyFormatstringYes
dateFormatstringYes
descriptionstringYes
dontsstringYes
emojiUsagestringYes
genderingstringYes
generalToneobjectYes
glossariesarray<object>Yes
extendedstringYes
shortcutstringYes
headlinePunctuationarray<string>Yes
hyphenationRulesarray<string>Yes
industryJargonstringYes
languagestringYes
namestringYes
numberFormatstringYes
personalbooleanYes
perspectivearray<string>Yes
phoneNumberFormatstringYes
thumbnailBase64stringYesbase64 encoded image
timeFormatstringYes
useControversialEmojisbooleanYes
useHeaderPunctuationbooleanYes
useHyphensbooleanYes
vocabularyarray<string>Yes

Response

FieldTypeDescription
_embeddedobject
brandobject
addressstring
createdAtstring
createdByUserIdstring
emailstring
facebookLinkstring
idstring
instagramLinkstring
legacybooleanwhile this flag is true, the brand cannot yet be edited and it needs to be converted into a non-legacy brand voice first
linkedinLinkstring
namestring
ownerLegacyCustomerIdinteger
phonesarray<string>
updatedAtstring
valuesarray<string>
websitestring
permissionsobject
canDeleteboolean
canDuplicateboolean
canUpdateboolean
canViewboolean
abbreviationRulesstring
activeboolean
activeVoiceboolean
advancedRulesarray<string>
brandobject
addressstring
emailstring
facebookLinkstring
instagramLinkstring
linkedinLinkstring
namestring
phonesarray<string>
valuesarray<string>
websitestring
completenessRatinginteger
contentExamplesarray<object>
contentstring
sourcestring
urlstring
contradictionMessagestring
countrystring
createdAtstring
createdByUserIdstring
creationSourceDocumentIDstring
creationSourceTextstring
creationSourceTypestring
creationSourceURLstring
currencyFormatstring
dateFormatstring
descriptionstring
dontsstring
emojiUsagestring
genderingstring
generalToneobject
glossariesarray<object>
extendedstring
shortcutstring
headlinePunctuationarray<string>
hyphenationRulesarray<string>
idstring
importedFromChatPersonalityIdinteger
industryJargonstring
isContradictoryboolean
languagestring
legacybooleanwhile this flag is true, the brand voice cannot yet be edited and it needs to be converted into a non-legacy brand voice first -> this conversion should also update the brand to be non-legacy
namestring
numberFormatstring
ownerLegacyCustomerIDinteger
personalboolean
perspectivearray<string>
phoneNumberFormatstring
thumbnailBase64stringbase64 encoded image
thumbnailUrlstring
timeFormatstring
updatedAtstring
useControversialEmojisboolean
useHeaderPunctuationboolean
useHyphensboolean
vocabularyarray<string>
workspaceIdstring

Example

curl -X POST "https://app.neuroflash.com/api/brand-voice-service/v1/workspaces/{workspace_id}/brand-voices" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"abbreviationRules": "string",
"active": false,
"activeVoice": false,
"advancedRules": [],
"brand": {},
"contentExamples": [],
"country": "string",
"creationSourceDocumentID": "string",
"creationSourceText": "string",
"creationSourceType": "string",
"creationSourceURL": "string",
"currencyFormat": "string",
"dateFormat": "string",
"description": "string",
"donts": "string",
"emojiUsage": "string",
"gendering": "string",
"generalTone": {},
"glossaries": [],
"headlinePunctuation": [],
"hyphenationRules": [],
"industryJargon": "string",
"language": "string",
"name": "string",
"numberFormat": "string",
"personal": false,
"perspective": [],
"phoneNumberFormat": "string",
"thumbnailBase64": "string",
"timeFormat": "string",
"useControversialEmojis": false,
"useHeaderPunctuation": false,
"useHyphens": false,
"vocabulary": []
}'

Response:

{
"_embedded": {
"brand": {
"address": "Germany, Berlin, ...",
"createdAt": "2025-01-14T16:20:59Z",
"createdByUserId": "b0920767-2e30-48d3-80ce-268810bc433a",
"email": "test@neuroflash.com",
"facebookLink": "https://facebook.com/test",
"id": "113c0b32-ed6c-4421-b7da-d1faf238eb56",
"instagramLink": "https://instagram.com/test",
"legacy": false,
"linkedinLink": "https://linkedin.com/test",
"name": "neuroflash",
"ownerLegacyCustomerId": 32,
"phones": [
"+00000000",
"+11111111"
],
"updatedAt": "2025-01-14T16:20:59Z",
"values": [
"proactivity",
"stability"
],
"website": "https://test.com"
},
"permissions": {
"canDelete": false,
"canDuplicate": false,
"canUpdate": false,
"canView": false
}
},
"abbreviationRules": "use_freely",
"active": false,
"activeVoice": false,
"advancedRules": [
"string"
],
"brand": {
"address": "Germany, Berlin, ...",
"email": "test@neuroflash.com",
"facebookLink": "https://facebook.com/test",
"instagramLink": "https://instagram.com/test",
"linkedinLink": "https://linkedin.com/test",
"name": "neuroflash",
"phones": [
"+00000000",
"+11111111"
],
"values": [
"proactivity",
"stability"
],
"website": "https://test.com"
},
"completenessRating": 80,
"contentExamples": [
{
"content": "instagram post content",
"source": "instagram",
"url": "https://instagram.com/test"
}
],
"contradictionMessage": "Some contradiction message",
"country": "us",
"createdAt": "2025-01-14T16:20:59Z",
"createdByUserId": "b0920767-2e30-48d3-80ce-268810bc433a",
"creationSourceDocumentID": "string",
"creationSourceText": "very interesting text that was used to import this brand voice",
"creationSourceType": "manual",
"creationSourceURL": "https://test.com",
"currencyFormat": "number_space_symbol",
"dateFormat": "EN",
"description": "Description of Brand Voice",
"donts": "string",
"emojiUsage": "no_emojis",
"gendering": "gender_neutral",
"generalTone": {},
"glossaries": [
{
"extended": "For your information",
"shortcut": "FYI"
}
],
"headlinePunctuation": [
"title_case"
],
"hyphenationRules": [
"allow_hyphenation_brand_name"
],
"id": "113c0b32-ed6c-4421-b7da-d1faf238eb56",
"importedFromChatPersonalityId": 0,
"industryJargon": "no_jargon",
"isContradictory": true,
"language": "en",
"legacy": false,
"name": "My Brand Voice",
"numberFormat": "EN",
"ownerLegacyCustomerID": 123,
"personal": false,
"perspective": [
"first_person_singular"
],
"phoneNumberFormat": "international_e164",
"thumbnailBase64": "string",
"thumbnailUrl": "https://storage.googleapis.com/test/test.png",
"timeFormat": "24h",
"updatedAt": "2025-01-14T16:20:59Z",
"useControversialEmojis": false,
"useHeaderPunctuation": false,
"useHyphens": false,
"vocabulary": [
"ChatFlash",
"image generation"
],
"workspaceId": "27b01216-dc39-4cf4-9681-18443a6ea78e"
}

Upgrade a legacy brand voice

POST/v1/workspaces/{workspaceId}/brand-voices/{brandVoiceId}/upgrade

Converts a legacy brand voice to the new format using its creation source text

Path Parameters

ParameterTypeRequiredDescription
workspaceIdstringYesWorkspace ID (uuid4)
brandVoiceIdstringYesBrand Voice ID to upgrade

Request Body

FieldTypeRequiredDescription
audienceModelIdstringYes

Example

curl -X POST "https://app.neuroflash.com/api/brand-voice-service/v1/workspaces/{workspace_id}/brand-voices/{brand_voice_id}/upgrade" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"audienceModelId": "string"
}'

Converts a brand voice into the format which is needed as input by datascience

POST/v1/workspaces/{workspaceId}/brand-voices/{brandVoiceId}/ds-prompt

Returns DS formatted brand voice by its ID for the given workspace.

Path Parameters

ParameterTypeRequiredDescription
workspaceIdstringYesWorkspace ID (uuid4)
brandVoiceIdstringYesBrand voice ID

Response

FieldTypeDescription
countrystring
idstring
importedFromChatPersonalityIdinteger
languagestring
legacyboolean
namestring
newDefinitionobject
abbreviationsobject
optionsobject
selected_optionstring
additional_rulesobject
brand_informationobject
brand_info_valuesarray<string>
brand_namestring
contact_detailsobject
addressstring
emailstring
phonesstring
social_media_linksarray<string>
websitestring
brand_voiceobject
general_toneobject
language_preferencesobject
activeVsPassiveobject
optionsobject
selected_optionstring
contentLocalestring
headlinePunctuationobject
optionsobject
selected_optionsarray<string>
hyphenationRulesobject
optionsobject
selected_optionsarray<string>
industry_jargonobject
optionsobject
selected_optionstring
perspective_and_pronoun_usageobject
optionsobject
selected_optionsarray<string>
vocabularyarray<string>
voice_descriptionstring
emojiUsageobject
additional_restrictionsobject
no_aggressive_or_controverse_emojisboolean
optionsobject
selected_optionstring
genderingobject
optionsobject
selected_optionstring
glossaryobject
settingsobject
currencyFormatobject
optionsobject
selected_optionstring
dateFormatobject
optionsobject
selected_optionstring
numberFormatobject
optionsobject
selected_optionstring
phoneNumberFormatobject
optionsobject
selected_optionstring
timeFormatobject
optionsobject
selected_optionstring
oldDefinitionstring

Example

curl -X POST "https://app.neuroflash.com/api/brand-voice-service/v1/workspaces/{workspace_id}/brand-voices/{brand_voice_id}/ds-prompt" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'

Response:

{
"country": "string",
"id": "string",
"importedFromChatPersonalityId": 0,
"language": "string",
"legacy": false,
"name": "string",
"newDefinition": {
"abbreviations": {
"options": {},
"selected_option": "string"
},
"additional_rules": {},
"brand_information": {
"brand_info_values": [
"string"
],
"brand_name": "string",
"contact_details": {
"address": "string",
"email": "string",
"phones": "string",
"social_media_links": [
"..."
]
},
"website": "string"
},
"brand_voice": {
"general_tone": {},
"language_preferences": {
"activeVsPassive": {
"options": "...",
"selected_option": "..."
},
"contentLocale": "string",
"headlinePunctuation": {
"options": "...",
"selected_options": "..."
},
"hyphenationRules": {
"options": "...",
"selected_options": "..."
},
"industry_jargon": {
"options": "...",
"selected_option": "..."
},
"perspective_and_pronoun_usage": {
"options": "...",
"selected_options": "..."
},
"vocabulary": [
"..."
]
},
"voice_description": "string"
},
"emojiUsage": {
"additional_restrictions": {
"no_aggressive_or_controverse_emojis": false
},
"options": {},
"selected_option": "string"
},
"gendering": {
"options": {},
"selected_option": "string"
},
"glossary": {},
"settings": {
"currencyFormat": {
"options": {},
"selected_option": "string"
},
"dateFormat": {
"options": {},
"selected_option": "string"
},
"numberFormat": {
"options": {},
"selected_option": "string"
},
"phoneNumberFormat": {
"options": {},
"selected_option": "string"
},
"timeFormat": {
"options": {},
"selected_option": "string"
}
}
},
"oldDefinition": "string"
}

Duplicate a brand voice

POST/v1/workspaces/{workspaceId}/brand-voices/{brandVoiceId}/duplicate

Duplicate a new brand voice for the given workspace.

Path Parameters

ParameterTypeRequiredDescription
workspaceIdstringYesWorkspace ID (uuid4)
brandVoiceIdstringYesBrand Voice ID to duplicate

Request Body

FieldTypeRequiredDescription
newNamestringNo

Response

FieldTypeDescription
_embeddedobject
brandobject
addressstring
createdAtstring
createdByUserIdstring
emailstring
facebookLinkstring
idstring
instagramLinkstring
legacybooleanwhile this flag is true, the brand cannot yet be edited and it needs to be converted into a non-legacy brand voice first
linkedinLinkstring
namestring
ownerLegacyCustomerIdinteger
phonesarray<string>
updatedAtstring
valuesarray<string>
websitestring
permissionsobject
canDeleteboolean
canDuplicateboolean
canUpdateboolean
canViewboolean
abbreviationRulesstring
activeboolean
activeVoiceboolean
advancedRulesarray<string>
brandobject
addressstring
emailstring
facebookLinkstring
instagramLinkstring
linkedinLinkstring
namestring
phonesarray<string>
valuesarray<string>
websitestring
completenessRatinginteger
contentExamplesarray<object>
contentstring
sourcestring
urlstring
contradictionMessagestring
countrystring
createdAtstring
createdByUserIdstring
creationSourceDocumentIDstring
creationSourceTextstring
creationSourceTypestring
creationSourceURLstring
currencyFormatstring
dateFormatstring
descriptionstring
dontsstring
emojiUsagestring
genderingstring
generalToneobject
glossariesarray<object>
extendedstring
shortcutstring
headlinePunctuationarray<string>
hyphenationRulesarray<string>
idstring
importedFromChatPersonalityIdinteger
industryJargonstring
isContradictoryboolean
languagestring
legacybooleanwhile this flag is true, the brand voice cannot yet be edited and it needs to be converted into a non-legacy brand voice first -> this conversion should also update the brand to be non-legacy
namestring
numberFormatstring
ownerLegacyCustomerIDinteger
personalboolean
perspectivearray<string>
phoneNumberFormatstring
thumbnailBase64stringbase64 encoded image
thumbnailUrlstring
timeFormatstring
updatedAtstring
useControversialEmojisboolean
useHeaderPunctuationboolean
useHyphensboolean
vocabularyarray<string>
workspaceIdstring

Example

curl -X POST "https://app.neuroflash.com/api/brand-voice-service/v1/workspaces/{workspace_id}/brand-voices/{brand_voice_id}/duplicate" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"newName": "string"
}'

Response:

{
"_embedded": {
"brand": {
"address": "Germany, Berlin, ...",
"createdAt": "2025-01-14T16:20:59Z",
"createdByUserId": "b0920767-2e30-48d3-80ce-268810bc433a",
"email": "test@neuroflash.com",
"facebookLink": "https://facebook.com/test",
"id": "113c0b32-ed6c-4421-b7da-d1faf238eb56",
"instagramLink": "https://instagram.com/test",
"legacy": false,
"linkedinLink": "https://linkedin.com/test",
"name": "neuroflash",
"ownerLegacyCustomerId": 32,
"phones": [
"+00000000",
"+11111111"
],
"updatedAt": "2025-01-14T16:20:59Z",
"values": [
"proactivity",
"stability"
],
"website": "https://test.com"
},
"permissions": {
"canDelete": false,
"canDuplicate": false,
"canUpdate": false,
"canView": false
}
},
"abbreviationRules": "use_freely",
"active": false,
"activeVoice": false,
"advancedRules": [
"string"
],
"brand": {
"address": "Germany, Berlin, ...",
"email": "test@neuroflash.com",
"facebookLink": "https://facebook.com/test",
"instagramLink": "https://instagram.com/test",
"linkedinLink": "https://linkedin.com/test",
"name": "neuroflash",
"phones": [
"+00000000",
"+11111111"
],
"values": [
"proactivity",
"stability"
],
"website": "https://test.com"
},
"completenessRating": 80,
"contentExamples": [
{
"content": "instagram post content",
"source": "instagram",
"url": "https://instagram.com/test"
}
],
"contradictionMessage": "Some contradiction message",
"country": "us",
"createdAt": "2025-01-14T16:20:59Z",
"createdByUserId": "b0920767-2e30-48d3-80ce-268810bc433a",
"creationSourceDocumentID": "string",
"creationSourceText": "very interesting text that was used to import this brand voice",
"creationSourceType": "manual",
"creationSourceURL": "https://test.com",
"currencyFormat": "number_space_symbol",
"dateFormat": "EN",
"description": "Description of Brand Voice",
"donts": "string",
"emojiUsage": "no_emojis",
"gendering": "gender_neutral",
"generalTone": {},
"glossaries": [
{
"extended": "For your information",
"shortcut": "FYI"
}
],
"headlinePunctuation": [
"title_case"
],
"hyphenationRules": [
"allow_hyphenation_brand_name"
],
"id": "113c0b32-ed6c-4421-b7da-d1faf238eb56",
"importedFromChatPersonalityId": 0,
"industryJargon": "no_jargon",
"isContradictory": true,
"language": "en",
"legacy": false,
"name": "My Brand Voice",
"numberFormat": "EN",
"ownerLegacyCustomerID": 123,
"personal": false,
"perspective": [
"first_person_singular"
],
"phoneNumberFormat": "international_e164",
"thumbnailBase64": "string",
"thumbnailUrl": "https://storage.googleapis.com/test/test.png",
"timeFormat": "24h",
"updatedAt": "2025-01-14T16:20:59Z",
"useControversialEmojis": false,
"useHeaderPunctuation": false,
"useHyphens": false,
"vocabulary": [
"ChatFlash",
"image generation"
],
"workspaceId": "27b01216-dc39-4cf4-9681-18443a6ea78e"
}

Calculates brand voice contradiction

POST/v1/workspaces/{workspaceId}/brand-voices/{brandVoiceId}/calculate-contradiction

Calculates brand voice contradiction and saves the result.

Path Parameters

ParameterTypeRequiredDescription
workspaceIdstringYesWorkspace ID (uuid4)
brandVoiceIdstringYesBrand voice ID

Request Body

FieldTypeRequiredDescription
audienceModelIdstringYes

Response

FieldTypeDescription
_embeddedobject
brandobject
addressstring
createdAtstring
createdByUserIdstring
emailstring
facebookLinkstring
idstring
instagramLinkstring
legacybooleanwhile this flag is true, the brand cannot yet be edited and it needs to be converted into a non-legacy brand voice first
linkedinLinkstring
namestring
ownerLegacyCustomerIdinteger
phonesarray<string>
updatedAtstring
valuesarray<string>
websitestring
permissionsobject
canDeleteboolean
canDuplicateboolean
canUpdateboolean
canViewboolean
abbreviationRulesstring
activeboolean
activeVoiceboolean
advancedRulesarray<string>
brandobject
addressstring
emailstring
facebookLinkstring
instagramLinkstring
linkedinLinkstring
namestring
phonesarray<string>
valuesarray<string>
websitestring
completenessRatinginteger
contentExamplesarray<object>
contentstring
sourcestring
urlstring
contradictionMessagestring
countrystring
createdAtstring
createdByUserIdstring
creationSourceDocumentIDstring
creationSourceTextstring
creationSourceTypestring
creationSourceURLstring
currencyFormatstring
dateFormatstring
descriptionstring
dontsstring
emojiUsagestring
genderingstring
generalToneobject
glossariesarray<object>
extendedstring
shortcutstring
headlinePunctuationarray<string>
hyphenationRulesarray<string>
idstring
importedFromChatPersonalityIdinteger
industryJargonstring
isContradictoryboolean
languagestring
legacybooleanwhile this flag is true, the brand voice cannot yet be edited and it needs to be converted into a non-legacy brand voice first -> this conversion should also update the brand to be non-legacy
namestring
numberFormatstring
ownerLegacyCustomerIDinteger
personalboolean
perspectivearray<string>
phoneNumberFormatstring
thumbnailBase64stringbase64 encoded image
thumbnailUrlstring
timeFormatstring
updatedAtstring
useControversialEmojisboolean
useHeaderPunctuationboolean
useHyphensboolean
vocabularyarray<string>
workspaceIdstring

Example

curl -X POST "https://app.neuroflash.com/api/brand-voice-service/v1/workspaces/{workspace_id}/brand-voices/{brand_voice_id}/calculate-contradiction" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"audienceModelId": "string"
}'

Response:

{
"_embedded": {
"brand": {
"address": "Germany, Berlin, ...",
"createdAt": "2025-01-14T16:20:59Z",
"createdByUserId": "b0920767-2e30-48d3-80ce-268810bc433a",
"email": "test@neuroflash.com",
"facebookLink": "https://facebook.com/test",
"id": "113c0b32-ed6c-4421-b7da-d1faf238eb56",
"instagramLink": "https://instagram.com/test",
"legacy": false,
"linkedinLink": "https://linkedin.com/test",
"name": "neuroflash",
"ownerLegacyCustomerId": 32,
"phones": [
"+00000000",
"+11111111"
],
"updatedAt": "2025-01-14T16:20:59Z",
"values": [
"proactivity",
"stability"
],
"website": "https://test.com"
},
"permissions": {
"canDelete": false,
"canDuplicate": false,
"canUpdate": false,
"canView": false
}
},
"abbreviationRules": "use_freely",
"active": false,
"activeVoice": false,
"advancedRules": [
"string"
],
"brand": {
"address": "Germany, Berlin, ...",
"email": "test@neuroflash.com",
"facebookLink": "https://facebook.com/test",
"instagramLink": "https://instagram.com/test",
"linkedinLink": "https://linkedin.com/test",
"name": "neuroflash",
"phones": [
"+00000000",
"+11111111"
],
"values": [
"proactivity",
"stability"
],
"website": "https://test.com"
},
"completenessRating": 80,
"contentExamples": [
{
"content": "instagram post content",
"source": "instagram",
"url": "https://instagram.com/test"
}
],
"contradictionMessage": "Some contradiction message",
"country": "us",
"createdAt": "2025-01-14T16:20:59Z",
"createdByUserId": "b0920767-2e30-48d3-80ce-268810bc433a",
"creationSourceDocumentID": "string",
"creationSourceText": "very interesting text that was used to import this brand voice",
"creationSourceType": "manual",
"creationSourceURL": "https://test.com",
"currencyFormat": "number_space_symbol",
"dateFormat": "EN",
"description": "Description of Brand Voice",
"donts": "string",
"emojiUsage": "no_emojis",
"gendering": "gender_neutral",
"generalTone": {},
"glossaries": [
{
"extended": "For your information",
"shortcut": "FYI"
}
],
"headlinePunctuation": [
"title_case"
],
"hyphenationRules": [
"allow_hyphenation_brand_name"
],
"id": "113c0b32-ed6c-4421-b7da-d1faf238eb56",
"importedFromChatPersonalityId": 0,
"industryJargon": "no_jargon",
"isContradictory": true,
"language": "en",
"legacy": false,
"name": "My Brand Voice",
"numberFormat": "EN",
"ownerLegacyCustomerID": 123,
"personal": false,
"perspective": [
"first_person_singular"
],
"phoneNumberFormat": "international_e164",
"thumbnailBase64": "string",
"thumbnailUrl": "https://storage.googleapis.com/test/test.png",
"timeFormat": "24h",
"updatedAt": "2025-01-14T16:20:59Z",
"useControversialEmojis": false,
"useHeaderPunctuation": false,
"useHyphens": false,
"vocabulary": [
"ChatFlash",
"image generation"
],
"workspaceId": "27b01216-dc39-4cf4-9681-18443a6ea78e"
}

List brand voices

GET/v1/workspaces/{workspaceId}/brand-voices

Retrieve a paginated list of brand voices based on filtering criteria such as name, country, language, owner, and workspace.

Path Parameters

ParameterTypeRequiredDescription
workspaceIdstringYesWorkspace ID (uuid4)

Query Parameters

ParameterTypeDefaultDescription
namestringFilter by brand voice name
searchstringFilter by brand voice name, brand name and URL
countrystringFilter by country (ISO Alpha-2 code)
languagestringFilter by language (ISO Alpha-2 code)
ownerLegacyCustomerIdintegerFilter by customer ID
importedFromChatPersonalityIdsstringFilter by imported personality ids
withRelationsbooleantrueInclude related data
includeDefaultFirstbooleantrueInclude default brand voice first
sortstringupdated_atSort: empty, most_recent, updated_at, name
orderstringASCSort: ASC, DESC
pageinteger1Page
sizeinteger10Page size (1-100)

Response

FieldTypeDescription
dataarray<object>
_embeddedobject
brandobject
addressstring
createdAtstring
createdByUserIdstring
emailstring
facebookLinkstring
idstring
instagramLinkstring
legacybooleanwhile this flag is true, the brand cannot yet be edited and it needs to be converted into a non-legacy brand voice first
linkedinLinkstring
namestring
ownerLegacyCustomerIdinteger
phonesarray<string>
updatedAtstring
valuesarray<string>
websitestring
permissionsobject
canDeleteboolean
canDuplicateboolean
canUpdateboolean
canViewboolean
abbreviationRulesstring
activeboolean
activeVoiceboolean
advancedRulesarray<string>
brandobject
addressstring
emailstring
facebookLinkstring
instagramLinkstring
linkedinLinkstring
namestring
phonesarray<string>
valuesarray<string>
websitestring
completenessRatinginteger
contentExamplesarray<object>
contentstring
sourcestring
urlstring
contradictionMessagestring
countrystring
createdAtstring
createdByUserIdstring
creationSourceDocumentIDstring
creationSourceTextstring
creationSourceTypestring
creationSourceURLstring
currencyFormatstring
dateFormatstring
descriptionstring
dontsstring
emojiUsagestring
genderingstring
generalToneobject
glossariesarray<object>
extendedstring
shortcutstring
headlinePunctuationarray<string>
hyphenationRulesarray<string>
idstring
importedFromChatPersonalityIdinteger
industryJargonstring
isContradictoryboolean
languagestring
legacybooleanwhile this flag is true, the brand voice cannot yet be edited and it needs to be converted into a non-legacy brand voice first -> this conversion should also update the brand to be non-legacy
namestring
numberFormatstring
ownerLegacyCustomerIDinteger
personalboolean
perspectivearray<string>
phoneNumberFormatstring
thumbnailBase64stringbase64 encoded image
thumbnailUrlstring
timeFormatstring
updatedAtstring
useControversialEmojisboolean
useHeaderPunctuationboolean
useHyphensboolean
vocabularyarray<string>
workspaceIdstring
pageobject
currentPageinteger
sizeinteger
totalElementsinteger
totalPagesinteger

Example

curl "https://app.neuroflash.com/api/brand-voice-service/v1/workspaces/{workspace_id}/brand-voices" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Response:

{
"data": [
{
"_embedded": {
"brand": {
"address": "...",
"createdAt": "...",
"createdByUserId": "...",
"email": "...",
"facebookLink": "...",
"id": "...",
"instagramLink": "...",
"legacy": "...",
"linkedinLink": "...",
"name": "...",
"ownerLegacyCustomerId": "...",
"phones": "...",
"updatedAt": "...",
"values": "...",
"website": "..."
},
"permissions": {
"canDelete": "...",
"canDuplicate": "...",
"canUpdate": "...",
"canView": "..."
}
},
"abbreviationRules": "use_freely",
"active": false,
"activeVoice": false,
"advancedRules": [
"string"
],
"brand": {
"address": "Germany, Berlin, ...",
"email": "test@neuroflash.com",
"facebookLink": "https://facebook.com/test",
"instagramLink": "https://instagram.com/test",
"linkedinLink": "https://linkedin.com/test",
"name": "neuroflash",
"phones": [
"+00000000",
"+11111111"
],
"values": [
"proactivity",
"stability"
],
"website": "https://test.com"
},
"completenessRating": 80,
"contentExamples": [
{
"content": "...",
"source": "...",
"url": "..."
}
],
"contradictionMessage": "Some contradiction message",
"country": "us",
"createdAt": "2025-01-14T16:20:59Z",
"createdByUserId": "b0920767-2e30-48d3-80ce-268810bc433a",
"creationSourceDocumentID": "string",
"creationSourceText": "very interesting text that was used to import this brand voice",
"creationSourceType": "manual",
"creationSourceURL": "https://test.com",
"currencyFormat": "number_space_symbol",
"dateFormat": "EN",
"description": "Description of Brand Voice",
"donts": "string",
"emojiUsage": "no_emojis",
"gendering": "gender_neutral",
"generalTone": {},
"glossaries": [
{
"extended": "...",
"shortcut": "..."
}
],
"headlinePunctuation": [
"title_case"
],
"hyphenationRules": [
"allow_hyphenation_brand_name"
],
"id": "113c0b32-ed6c-4421-b7da-d1faf238eb56",
"importedFromChatPersonalityId": 0,
"industryJargon": "no_jargon",
"isContradictory": true,
"language": "en",
"legacy": false,
"name": "My Brand Voice",
"numberFormat": "EN",
"ownerLegacyCustomerID": 123,
"personal": false,
"perspective": [
"first_person_singular"
],
"phoneNumberFormat": "international_e164",
"thumbnailBase64": "string",
"thumbnailUrl": "https://storage.googleapis.com/test/test.png",
"timeFormat": "24h",
"updatedAt": "2025-01-14T16:20:59Z",
"useControversialEmojis": false,
"useHeaderPunctuation": false,
"useHyphens": false,
"vocabulary": [
"ChatFlash",
"image generation"
],
"workspaceId": "27b01216-dc39-4cf4-9681-18443a6ea78e"
}
],
"page": {
"currentPage": 2,
"size": 10,
"totalElements": 35,
"totalPages": 4
}
}

Find a brand voice by ID

GET/v1/workspaces/{workspaceId}/brand-voices/{brandVoiceId}

Retrieve details of a brand voice by its ID for the given workspace.

Path Parameters

ParameterTypeRequiredDescription
workspaceIdstringYesWorkspace ID (uuid4)
brandVoiceIdstringYesBrand voice ID

Response

FieldTypeDescription
_embeddedobject
brandobject
addressstring
createdAtstring
createdByUserIdstring
emailstring
facebookLinkstring
idstring
instagramLinkstring
legacybooleanwhile this flag is true, the brand cannot yet be edited and it needs to be converted into a non-legacy brand voice first
linkedinLinkstring
namestring
ownerLegacyCustomerIdinteger
phonesarray<string>
updatedAtstring
valuesarray<string>
websitestring
permissionsobject
canDeleteboolean
canDuplicateboolean
canUpdateboolean
canViewboolean
abbreviationRulesstring
activeboolean
activeVoiceboolean
advancedRulesarray<string>
brandobject
addressstring
emailstring
facebookLinkstring
instagramLinkstring
linkedinLinkstring
namestring
phonesarray<string>
valuesarray<string>
websitestring
completenessRatinginteger
contentExamplesarray<object>
contentstring
sourcestring
urlstring
contradictionMessagestring
countrystring
createdAtstring
createdByUserIdstring
creationSourceDocumentIDstring
creationSourceTextstring
creationSourceTypestring
creationSourceURLstring
currencyFormatstring
dateFormatstring
descriptionstring
dontsstring
emojiUsagestring
genderingstring
generalToneobject
glossariesarray<object>
extendedstring
shortcutstring
headlinePunctuationarray<string>
hyphenationRulesarray<string>
idstring
importedFromChatPersonalityIdinteger
industryJargonstring
isContradictoryboolean
languagestring
legacybooleanwhile this flag is true, the brand voice cannot yet be edited and it needs to be converted into a non-legacy brand voice first -> this conversion should also update the brand to be non-legacy
namestring
numberFormatstring
ownerLegacyCustomerIDinteger
personalboolean
perspectivearray<string>
phoneNumberFormatstring
thumbnailBase64stringbase64 encoded image
thumbnailUrlstring
timeFormatstring
updatedAtstring
useControversialEmojisboolean
useHeaderPunctuationboolean
useHyphensboolean
vocabularyarray<string>
workspaceIdstring

Example

curl "https://app.neuroflash.com/api/brand-voice-service/v1/workspaces/{workspace_id}/brand-voices/{brand_voice_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Response:

{
"_embedded": {
"brand": {
"address": "Germany, Berlin, ...",
"createdAt": "2025-01-14T16:20:59Z",
"createdByUserId": "b0920767-2e30-48d3-80ce-268810bc433a",
"email": "test@neuroflash.com",
"facebookLink": "https://facebook.com/test",
"id": "113c0b32-ed6c-4421-b7da-d1faf238eb56",
"instagramLink": "https://instagram.com/test",
"legacy": false,
"linkedinLink": "https://linkedin.com/test",
"name": "neuroflash",
"ownerLegacyCustomerId": 32,
"phones": [
"+00000000",
"+11111111"
],
"updatedAt": "2025-01-14T16:20:59Z",
"values": [
"proactivity",
"stability"
],
"website": "https://test.com"
},
"permissions": {
"canDelete": false,
"canDuplicate": false,
"canUpdate": false,
"canView": false
}
},
"abbreviationRules": "use_freely",
"active": false,
"activeVoice": false,
"advancedRules": [
"string"
],
"brand": {
"address": "Germany, Berlin, ...",
"email": "test@neuroflash.com",
"facebookLink": "https://facebook.com/test",
"instagramLink": "https://instagram.com/test",
"linkedinLink": "https://linkedin.com/test",
"name": "neuroflash",
"phones": [
"+00000000",
"+11111111"
],
"values": [
"proactivity",
"stability"
],
"website": "https://test.com"
},
"completenessRating": 80,
"contentExamples": [
{
"content": "instagram post content",
"source": "instagram",
"url": "https://instagram.com/test"
}
],
"contradictionMessage": "Some contradiction message",
"country": "us",
"createdAt": "2025-01-14T16:20:59Z",
"createdByUserId": "b0920767-2e30-48d3-80ce-268810bc433a",
"creationSourceDocumentID": "string",
"creationSourceText": "very interesting text that was used to import this brand voice",
"creationSourceType": "manual",
"creationSourceURL": "https://test.com",
"currencyFormat": "number_space_symbol",
"dateFormat": "EN",
"description": "Description of Brand Voice",
"donts": "string",
"emojiUsage": "no_emojis",
"gendering": "gender_neutral",
"generalTone": {},
"glossaries": [
{
"extended": "For your information",
"shortcut": "FYI"
}
],
"headlinePunctuation": [
"title_case"
],
"hyphenationRules": [
"allow_hyphenation_brand_name"
],
"id": "113c0b32-ed6c-4421-b7da-d1faf238eb56",
"importedFromChatPersonalityId": 0,
"industryJargon": "no_jargon",
"isContradictory": true,
"language": "en",
"legacy": false,
"name": "My Brand Voice",
"numberFormat": "EN",
"ownerLegacyCustomerID": 123,
"personal": false,
"perspective": [
"first_person_singular"
],
"phoneNumberFormat": "international_e164",
"thumbnailBase64": "string",
"thumbnailUrl": "https://storage.googleapis.com/test/test.png",
"timeFormat": "24h",
"updatedAt": "2025-01-14T16:20:59Z",
"useControversialEmojis": false,
"useHeaderPunctuation": false,
"useHyphens": false,
"vocabulary": [
"ChatFlash",
"image generation"
],
"workspaceId": "27b01216-dc39-4cf4-9681-18443a6ea78e"
}

Update a brand voice

PUT/v1/workspaces/{workspaceId}/brand-voices/{brandVoiceId}

Update the details of a brand voice by ID for the given workspace.

Path Parameters

ParameterTypeRequiredDescription
workspaceIdstringYesWorkspace ID (uuid4)
brandVoiceIdstringYesBrand voice ID

Request Body

FieldTypeRequiredDescription
abbreviationRulesstringYes
activebooleanYes
activeVoicebooleanYes
advancedRulesarray<string>Yes
brandobjectYes
addressstringYes
emailstringYes
facebookLinkstringYes
instagramLinkstringYes
linkedinLinkstringYes
namestringYes
phonesarray<string>Yes
valuesarray<string>Yes
websitestringYes
contentExamplesarray<object>Yes
contentstringYes
sourcestringYes
urlstringYes
countrystringYes
currencyFormatstringYes
dateFormatstringYes
descriptionstringYes
dontsstringYes
emojiUsagestringYes
genderingstringYes
generalToneobjectYes
glossariesarray<object>Yes
extendedstringYes
shortcutstringYes
headlinePunctuationarray<string>Yes
hyphenationRulesarray<string>Yes
industryJargonstringYes
languagestringYes
namestringYes
numberFormatstringYes
personalbooleanYes
perspectivearray<string>Yes
phoneNumberFormatstringYes
thumbnailBase64stringYesbase64 encoded image
timeFormatstringYes
useControversialEmojisbooleanYes
useHeaderPunctuationbooleanYes
useHyphensbooleanYes
vocabularyarray<string>Yes

Response

FieldTypeDescription
_embeddedobject
brandobject
addressstring
createdAtstring
createdByUserIdstring
emailstring
facebookLinkstring
idstring
instagramLinkstring
legacybooleanwhile this flag is true, the brand cannot yet be edited and it needs to be converted into a non-legacy brand voice first
linkedinLinkstring
namestring
ownerLegacyCustomerIdinteger
phonesarray<string>
updatedAtstring
valuesarray<string>
websitestring
permissionsobject
canDeleteboolean
canDuplicateboolean
canUpdateboolean
canViewboolean
abbreviationRulesstring
activeboolean
activeVoiceboolean
advancedRulesarray<string>
brandobject
addressstring
emailstring
facebookLinkstring
instagramLinkstring
linkedinLinkstring
namestring
phonesarray<string>
valuesarray<string>
websitestring
completenessRatinginteger
contentExamplesarray<object>
contentstring
sourcestring
urlstring
contradictionMessagestring
countrystring
createdAtstring
createdByUserIdstring
creationSourceDocumentIDstring
creationSourceTextstring
creationSourceTypestring
creationSourceURLstring
currencyFormatstring
dateFormatstring
descriptionstring
dontsstring
emojiUsagestring
genderingstring
generalToneobject
glossariesarray<object>
extendedstring
shortcutstring
headlinePunctuationarray<string>
hyphenationRulesarray<string>
idstring
importedFromChatPersonalityIdinteger
industryJargonstring
isContradictoryboolean
languagestring
legacybooleanwhile this flag is true, the brand voice cannot yet be edited and it needs to be converted into a non-legacy brand voice first -> this conversion should also update the brand to be non-legacy
namestring
numberFormatstring
ownerLegacyCustomerIDinteger
personalboolean
perspectivearray<string>
phoneNumberFormatstring
thumbnailBase64stringbase64 encoded image
thumbnailUrlstring
timeFormatstring
updatedAtstring
useControversialEmojisboolean
useHeaderPunctuationboolean
useHyphensboolean
vocabularyarray<string>
workspaceIdstring

Example

curl -X PUT "https://app.neuroflash.com/api/brand-voice-service/v1/workspaces/{workspace_id}/brand-voices/{brand_voice_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"abbreviationRules": "string",
"active": false,
"activeVoice": false,
"advancedRules": [],
"brand": {},
"contentExamples": [],
"country": "string",
"currencyFormat": "string",
"dateFormat": "string",
"description": "string",
"donts": "string",
"emojiUsage": "string",
"gendering": "string",
"generalTone": {},
"glossaries": [],
"headlinePunctuation": [],
"hyphenationRules": [],
"industryJargon": "string",
"language": "string",
"name": "string",
"numberFormat": "string",
"personal": false,
"perspective": [],
"phoneNumberFormat": "string",
"thumbnailBase64": "string",
"timeFormat": "string",
"useControversialEmojis": false,
"useHeaderPunctuation": false,
"useHyphens": false,
"vocabulary": []
}'

Response:

{
"_embedded": {
"brand": {
"address": "Germany, Berlin, ...",
"createdAt": "2025-01-14T16:20:59Z",
"createdByUserId": "b0920767-2e30-48d3-80ce-268810bc433a",
"email": "test@neuroflash.com",
"facebookLink": "https://facebook.com/test",
"id": "113c0b32-ed6c-4421-b7da-d1faf238eb56",
"instagramLink": "https://instagram.com/test",
"legacy": false,
"linkedinLink": "https://linkedin.com/test",
"name": "neuroflash",
"ownerLegacyCustomerId": 32,
"phones": [
"+00000000",
"+11111111"
],
"updatedAt": "2025-01-14T16:20:59Z",
"values": [
"proactivity",
"stability"
],
"website": "https://test.com"
},
"permissions": {
"canDelete": false,
"canDuplicate": false,
"canUpdate": false,
"canView": false
}
},
"abbreviationRules": "use_freely",
"active": false,
"activeVoice": false,
"advancedRules": [
"string"
],
"brand": {
"address": "Germany, Berlin, ...",
"email": "test@neuroflash.com",
"facebookLink": "https://facebook.com/test",
"instagramLink": "https://instagram.com/test",
"linkedinLink": "https://linkedin.com/test",
"name": "neuroflash",
"phones": [
"+00000000",
"+11111111"
],
"values": [
"proactivity",
"stability"
],
"website": "https://test.com"
},
"completenessRating": 80,
"contentExamples": [
{
"content": "instagram post content",
"source": "instagram",
"url": "https://instagram.com/test"
}
],
"contradictionMessage": "Some contradiction message",
"country": "us",
"createdAt": "2025-01-14T16:20:59Z",
"createdByUserId": "b0920767-2e30-48d3-80ce-268810bc433a",
"creationSourceDocumentID": "string",
"creationSourceText": "very interesting text that was used to import this brand voice",
"creationSourceType": "manual",
"creationSourceURL": "https://test.com",
"currencyFormat": "number_space_symbol",
"dateFormat": "EN",
"description": "Description of Brand Voice",
"donts": "string",
"emojiUsage": "no_emojis",
"gendering": "gender_neutral",
"generalTone": {},
"glossaries": [
{
"extended": "For your information",
"shortcut": "FYI"
}
],
"headlinePunctuation": [
"title_case"
],
"hyphenationRules": [
"allow_hyphenation_brand_name"
],
"id": "113c0b32-ed6c-4421-b7da-d1faf238eb56",
"importedFromChatPersonalityId": 0,
"industryJargon": "no_jargon",
"isContradictory": true,
"language": "en",
"legacy": false,
"name": "My Brand Voice",
"numberFormat": "EN",
"ownerLegacyCustomerID": 123,
"personal": false,
"perspective": [
"first_person_singular"
],
"phoneNumberFormat": "international_e164",
"thumbnailBase64": "string",
"thumbnailUrl": "https://storage.googleapis.com/test/test.png",
"timeFormat": "24h",
"updatedAt": "2025-01-14T16:20:59Z",
"useControversialEmojis": false,
"useHeaderPunctuation": false,
"useHyphens": false,
"vocabulary": [
"ChatFlash",
"image generation"
],
"workspaceId": "27b01216-dc39-4cf4-9681-18443a6ea78e"
}

Creates a usage of brand voice

PUT/v1/workspaces/{workspaceId}/brand-voices/{brandVoiceId}/usage

Create a documented usage of a brand voice which is used to determine the most recently used brand voice.

Path Parameters

ParameterTypeRequiredDescription
workspaceIdstringYesWorkspace ID (uuid4)
brandVoiceIdstringYesBrandVoice ID (uuid4)

Response

FieldTypeDescription
brandVoiceIdstring
createdAtstring
createdByUserIdstring
idstring
updatedAtstring
usageCountinteger
workspaceIdstring

Example

curl -X PUT "https://app.neuroflash.com/api/brand-voice-service/v1/workspaces/{workspace_id}/brand-voices/{brand_voice_id}/usage" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'

Response:

{
"brandVoiceId": "27b01216-dc39-4cf4-9681-18443a6ea78e",
"createdAt": "2025-01-14T16:20:59Z",
"createdByUserId": "b0920767-2e30-48d3-80ce-268810bc433a",
"id": "113c0b32-ed6c-4421-b7da-d1faf238eb56",
"updatedAt": "2025-01-14T16:20:59Z",
"usageCount": 100,
"workspaceId": "27b01216-dc39-4cf4-9681-18443a6ea78e"
}

Delete a brand voice

DELETE/v1/workspaces/{workspaceId}/brand-voices/{brandVoiceId}

Delete a brand voice by its ID for the given workspace.

Path Parameters

ParameterTypeRequiredDescription
workspaceIdstringYesWorkspace ID (uuid4)
brandVoiceIdstringYesBrand voice ID

Example

curl -X DELETE "https://app.neuroflash.com/api/brand-voice-service/v1/workspaces/{workspace_id}/brand-voices/{brand_voice_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"