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.

List brand voices​

GET/v1/brand-voices

Retrieve a list of brand voices.

Query Parameters​

ParameterTypeDefaultDescription
importedFromChatPersonalityIdsstring—Filter by imported personality ids

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
summarystringCached prompt blurb exposed via shared.brand_voice_v1; refreshed on every write.
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/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",
"summary": "string",
"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
}
}

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
summarystringCached prompt blurb exposed via shared.brand_voice_v1; refreshed on every write.
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",
"summary": "string",
"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
summarystringCached prompt blurb exposed via shared.brand_voice_v1; refreshed on every write.
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",
"summary": "string",
"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
summarystringCached prompt blurb exposed via shared.brand_voice_v1; refreshed on every write.
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",
"summary": "string",
"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
namestring—Filter by brand voice name
searchstring—Filter by brand voice name, brand name and URL
countrystring—Filter by country (ISO Alpha-2 code)
languagestring—Filter by language (ISO Alpha-2 code)
ownerLegacyCustomerIdinteger—Filter by customer ID
importedFromChatPersonalityIdsstring—Filter 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
summarystringCached prompt blurb exposed via shared.brand_voice_v1; refreshed on every write.
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",
"summary": "string",
"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
summarystringCached prompt blurb exposed via shared.brand_voice_v1; refreshed on every write.
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",
"summary": "string",
"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
summarystringCached prompt blurb exposed via shared.brand_voice_v1; refreshed on every write.
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",
"summary": "string",
"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"