API reference / Brain
Change the brand
Changes parts of the brand. Send at least one part. Null takes a part back to the default. The colours and the fonts go together: send all three colours, and both fonts. The logo for a dark background is for owners and admins.
/api/v1/brandOther ways to call it
troopy brand updatetroopy_update_brandIdempotency-Key header. A retry with the same key gets the first answer back, and the operation runs one time.Body
application/jsoncolorsobject | null3 properties
background*stringThe colour behind everything, like #0e0e10
text*stringThe colour of the words on the background
accent*stringThe one colour that stands out: buttons, numbers, the words to see first
fontsobject | null2 properties
heading*enum<string>The font of titles and big numbers
interplus-jakarta-sansdm-sansmanropepoppinsmontserratwork-sansibm-plex-sansspace-groteskoutfitsorafigtreegeisthanken-groteskinstrument-sansmona-sansand 35 more
body*enum<string>The font of the other words
interplus-jakarta-sansdm-sansmanropepoppinsmontserratwork-sansibm-plex-sansspace-groteskoutfitsorafigtreegeisthanken-groteskinstrument-sansmona-sansand 35 more
grainbooleanA faint print texture over each card
taglinestring | nullThe business in one line, 90 characters at most
whystring | nullWhy people pick the business over the others, 300 characters at most
audiencestring | nullWho the business is for, 300 characters at most
notForstring | nullWho the business is not for, 300 characters at most
ctaobject | null2 properties
label*stringThe words of the button, like Start my channel
At least 1 characters · At most 30 characters
url*stringWhere the button goes
At most 500 characters · uri
picturesstring | nullHow the pictures of the business look: the mood, the light, the colours, and what never shows. 600 characters at most
logoDarkstring | nullThe logo for a dark background: a PNG, JPEG or WebP image of at most 512 KB, base64-encoded. null removes it. Owners and admins only
Response
200 · application/jsondata*object18 properties
name*stringThe workspace's name
website*string | nulllogo*string | nullThe address of the logo, for a light background
logoDark*string | nullThe address of the logo for a dark background
colors*object | nullNull: the cards have the default look, paper and ink with an orange
3 properties
background*stringThe colour behind everything, like #0e0e10
text*stringThe colour of the words on the background
accent*stringThe one colour that stands out: buttons, numbers, the words to see first
fonts*object | nullNull: a serif for titles, and Inter for the rest
2 properties
heading*enum<string>The font of titles and big numbers
interplus-jakarta-sansdm-sansmanropepoppinsmontserratwork-sansibm-plex-sansspace-groteskoutfitsorafigtreegeisthanken-groteskinstrument-sansmona-sansand 35 more
body*enum<string>The font of the other words
interplus-jakarta-sansdm-sansmanropepoppinsmontserratwork-sansibm-plex-sansspace-groteskoutfitsorafigtreegeisthanken-groteskinstrument-sansmona-sansand 35 more
grain*booleanA faint print texture over each card
tagline*string | nullThe business in one line
why*string | nullWhy people pick the business over the others
audience*string | nullWho the business is for
notFor*string | nullWho the business is not for
cta*object | nullThe one thing that the business asks people to do
2 properties
label*stringThe words of the button, like Start my channel
At least 1 characters · At most 30 characters
url*stringWhere the button goes
At most 500 characters · uri
pictures*string | nullHow its pictures look. Troopy adds it to the words of each picture that a teammate makes
read*object | nullThe last read of the website, which fills the parts of the brand that no person set
6 properties
status*enum<string>runningdonefailed
url*stringThe page that Troopy read
at*stringISO 8601 date and time
error*string | nullcolors*array<string>The colours of the site, as hex: its background, its words, the colours with a hue that it paints most, then its greys
fonts*objectThe fonts of the site, as its CSS names them
2 properties
heading*string | nullbody*string | nullset*objectWho set each part last
competitors*array<object>The competitors that people added, 30 at most
7 properties
id*stringA 24-character id
name*stringsite*stringIts domain, like rival.com. Teammates may read its pages, and never type on them
note*string | nullHow the business differs from it, in one line
watch*booleanWhether the Competitor watcher checks it each week
by*objectWho wrote it
3 properties
type*enum<string>personagentapi
id*stringname*stringat*stringISO 8601 date and time
suggested*array<object>Competitors that teammates found. Each counts only after a person adds it
6 properties
id*stringA 24-character id
name*stringsite*stringwhy*stringWhy the teammate thinks that it competes, in the teammate's words
by*objectWho wrote it
3 properties
type*enum<string>personagentapi
id*stringname*stringat*stringISO 8601 date and time
finding*object | nullThe search for competitors that a teammate does now, until its task ends
3 properties
task*stringThe key of its task
status*enum<string>backlogtodoin_progressneeds_youin_reviewdonecanceled
paused*booleanIts teammate is paused: the search starts when a person resumes it