API reference / Troop
Read a thread in the troop chat
A thread in the troop chat: the message that started it (a reply's id opens its thread too) and its latest replies, oldest first, who is answering in it now, and who a reply that names no one goes to.
/api/v1/troop/messages/{id}Other ways to call it
troopy troop threadtroopy_read_troop_threadPath parameters
id*stringA 24-character id
Response
200 · application/jsondata*object5 properties
message*objectThe message that started the thread
15 properties
id*stringA 24-character id
threadId*string | nullThe thread it replies in, named by the thread's first message; null for a message in the room
from*enum<string>personagent
by*objectWho wrote it
3 properties
type*enum<string>personagentapi
id*stringname*stringagent*string | nullA teammate's message: its handle while it is in the troop; null once it was let go
avatar*object | nullA teammate's message: its face when it wrote it
6 properties
shape*enum<string>cloverflowertrianglesquareblobghostcircledropstardroidmechalienhexagoncatcloudpilland 2 more
color*stringface*enum<string>eyesmouth
shadingenum<string>How its body is lit; fabric when unset
fabricplasticcrispsmoothflat
robotobjectA TV-headed robot (robot-heads) in place of the bot. shape, color, face and shading stay for the bot
5 properties
shape*enum<string>rectanglesquarecirclehexagon
shell*stringThe colour of its shell
trim*stringThe colour of its ears and of the collar of its antenna
screen*stringThe colour of the lights on its screen
antenna*booleanobjectobjectAn object with two eyes in place of the bot. shape, color, face and shading stay for the bot
2 properties
shape*enum<string>circlesquaretrianglepilldrophexagonpentagoncloudbeancloverflowersparkleburstapplechatbulband 13 more
color*stringThe colour of the object
text*stringMarkdown when a teammate wrote it
to*array<string>A person's message: the handles of the teammates it called on, who each answer it in its thread
runId*string | nullA teammate's message: the run that wrote it
failed*booleanA teammate's message: its run failed, and the text says why
task*object | nullAn update: the task the teammate moved to in_review or done, as it was then
3 properties
key*stringtitle*stringstatus*enum<string>backlogtodoin_progressneeds_youin_reviewdonecanceled
approvalIds*array<string>A teammate's message: approvals its run asked for, waiting in GET /approvals
cites*array<object>A teammate's answer: what in the brain it relied on, at most 5, each one it was shown, as it is now (what was deleted since is left out)
5 properties
type*enum<string>docsource
id*stringA doc's slug, else the id
title*stringkind*stringA doc's or source's kind: a note, a web page, an interview, a research report...
wrong*object | nullA note someone said is wrong, and who: out of search until restored, or until they take it back
3 properties
by*objectWho wrote it
3 properties
type*enum<string>personagentapi
id*stringname*stringat*stringISO 8601 date and time
userId*stringA 24-character id
reactions*array<object>Reactions to it, each with who added it, in the order they first came
2 properties
emoji*enum<string>A reaction, by name
thumbs_upheartlaughpartyeyescheckprayfirethinking
by*array<object>3 properties
type*enum<string>personagentapi
id*stringname*stringat*stringISO 8601 date and time
replies*array<object>Its latest replies, at most 200, oldest first
15 properties
id*stringA 24-character id
threadId*string | nullThe thread it replies in, named by the thread's first message; null for a message in the room
from*enum<string>personagent
by*objectWho wrote it
3 properties
type*enum<string>personagentapi
id*stringname*stringagent*string | nullA teammate's message: its handle while it is in the troop; null once it was let go
avatar*object | nullA teammate's message: its face when it wrote it
6 properties
shape*enum<string>cloverflowertrianglesquareblobghostcircledropstardroidmechalienhexagoncatcloudpilland 2 more
color*stringface*enum<string>eyesmouth
shadingenum<string>How its body is lit; fabric when unset
fabricplasticcrispsmoothflat
robotobjectA TV-headed robot (robot-heads) in place of the bot. shape, color, face and shading stay for the bot
5 properties
shape*enum<string>rectanglesquarecirclehexagon
shell*stringThe colour of its shell
trim*stringThe colour of its ears and of the collar of its antenna
screen*stringThe colour of the lights on its screen
antenna*booleanobjectobjectAn object with two eyes in place of the bot. shape, color, face and shading stay for the bot
2 properties
shape*enum<string>circlesquaretrianglepilldrophexagonpentagoncloudbeancloverflowersparkleburstapplechatbulband 13 more
color*stringThe colour of the object
text*stringMarkdown when a teammate wrote it
to*array<string>A person's message: the handles of the teammates it called on, who each answer it in its thread
runId*string | nullA teammate's message: the run that wrote it
failed*booleanA teammate's message: its run failed, and the text says why
task*object | nullAn update: the task the teammate moved to in_review or done, as it was then
3 properties
key*stringtitle*stringstatus*enum<string>backlogtodoin_progressneeds_youin_reviewdonecanceled
approvalIds*array<string>A teammate's message: approvals its run asked for, waiting in GET /approvals
cites*array<object>A teammate's answer: what in the brain it relied on, at most 5, each one it was shown, as it is now (what was deleted since is left out)
5 properties
type*enum<string>docsource
id*stringA doc's slug, else the id
title*stringkind*stringA doc's or source's kind: a note, a web page, an interview, a research report...
wrong*object | nullA note someone said is wrong, and who: out of search until restored, or until they take it back
3 properties
by*objectWho wrote it
3 properties
type*enum<string>personagentapi
id*stringname*stringat*stringISO 8601 date and time
userId*stringA 24-character id
reactions*array<object>Reactions to it, each with who added it, in the order they first came
2 properties
emoji*enum<string>A reaction, by name
thumbs_upheartlaughpartyeyescheckprayfirethinking
by*array<object>3 properties
type*enum<string>personagentapi
id*stringname*stringat*stringISO 8601 date and time
total*integerReplies in all
answering*array<object>Teammates working on an answer now, with what they say they are doing: read again every few seconds until it is empty
4 properties
agent*stringrunId*stringA 24-character id
threadId*string | nulldoing*string | nullwith*array<string>The handles a reply naming no one calls on: whoever the thread's latest message from a person went to (the lead, if that was everyone), or in a thread a teammate started, that teammate