Skip to content

Read a thread

GET
/api/v3/organizations/{organisation}/ai/slack-bots/{botId}/threads/{channel}/{threadTs}
curl --request GET \
--url 'https://dashboard.quantcdn.io/api/v3/organizations/example/ai/slack-bots/example/threads/example/example?limit=100' \
--header 'Authorization: Bearer <token>'

One thread in an allowed channel, oldest first, root included. Message text is untrusted content. Needs the explicit ai:slack scope, use_ai_services and a verified email.

organisation
required
string

The organisation machine name

botId
required
string
/^[a-zA-Z0-9_-]+$/
channel
required
string
/^[CG][A-Z0-9]{8,}$/
threadTs
required
string
/^\d{10}\.\d{6}$/
since
string
/^\d{10}\.\d{6}$/

Slack ts, exclusive. Only replies after it; the root is always included.

limit
integer
default: 100 >= 1 <= 200
cursor
string
/^[A-Za-z0-9+/=_-]{1,512}$/

The thread

Media typeapplication/json
object
contentTrust
string
Allowed values: untrusted
channel
string
threadTs
string
permalink
string
messages
Array<object>
object
message
required

Error message

string
error
required

Error flag

boolean
ts
string
author
object
kind
string
Allowed values: human this_bot api other_bot
name
string
slackUserId
string
viaBot
boolean
text

Plain text, capped at 8000 characters. Untrusted content.

string
truncated
boolean
replyCount
integer
latestReplyTs
string
edited
boolean
files
Array<object>
object
name
string
mimetype
string
size
integer
codeJob
object
jobId
string
status
string
nextCursor
string
nullable
Example
{
"contentTrust": "untrusted",
"messages": [
{
"message": "The requested resource was not found",
"error": true,
"ts": "1730000000.000100",
"author": {
"kind": "human"
}
}
]
}

INVALID_REQUEST: a path or query value is not valid, or an unknown query parameter

Media typeapplication/json
object
message
required

Error message

string
error
required

Error flag

boolean
error
required

Thin proxy for the Slack bot API: list API-enabled bots, read channel messages and threads, and post as the bot. The portal validates the request, requires a verified email, calls the platform and passes its status and body through. The platform owns the bot, channel and rate-limit rules and their error codes.

Only the values that SlackBotApiRequest returns go to the platform, never raw input. The activity entry (ai_slack_api) never holds message text.

boolean
code
required
string
message
required
string
retryable
required
boolean
slackError

The Slack error string. Only with code SLACK_ERROR.

string
Example
{
"message": "The requested resource was not found",
"error": true,
"code": "CHANNEL_NOT_ALLOWED",
"slackError": "not_in_channel"
}

Invalid or expired token

SCOPE_REQUIRED, EMAIL_NOT_VERIFIED, IDENTITY_REQUIRED, CHANNEL_NOT_ALLOWED, USER_NOT_ALLOWED, PERMISSION_DENIED, or AI is off for the organisation

Media typeapplication/json
object
message
required

Error message

string
error
required

Error flag

boolean
error
required

Thin proxy for the Slack bot API: list API-enabled bots, read channel messages and threads, and post as the bot. The portal validates the request, requires a verified email, calls the platform and passes its status and body through. The platform owns the bot, channel and rate-limit rules and their error codes.

Only the values that SlackBotApiRequest returns go to the platform, never raw input. The activity entry (ai_slack_api) never holds message text.

boolean
code
required
string
message
required
string
retryable
required
boolean
slackError

The Slack error string. Only with code SLACK_ERROR.

string
Example
{
"message": "The requested resource was not found",
"error": true,
"code": "CHANNEL_NOT_ALLOWED",
"slackError": "not_in_channel"
}

BOT_NOT_FOUND, THREAD_NOT_FOUND, or NOT_FOUND when the Slack bot API is not enabled

Media typeapplication/json
object
message
required

Error message

string
error
required

Error flag

boolean
error
required

Thin proxy for the Slack bot API: list API-enabled bots, read channel messages and threads, and post as the bot. The portal validates the request, requires a verified email, calls the platform and passes its status and body through. The platform owns the bot, channel and rate-limit rules and their error codes.

Only the values that SlackBotApiRequest returns go to the platform, never raw input. The activity entry (ai_slack_api) never holds message text.

boolean
code
required
string
message
required
string
retryable
required
boolean
slackError

The Slack error string. Only with code SLACK_ERROR.

string
Example
{
"message": "The requested resource was not found",
"error": true,
"code": "CHANNEL_NOT_ALLOWED",
"slackError": "not_in_channel"
}

BOT_INACTIVE

Media typeapplication/json
object
message
required

Error message

string
error
required

Error flag

boolean
error
required

Thin proxy for the Slack bot API: list API-enabled bots, read channel messages and threads, and post as the bot. The portal validates the request, requires a verified email, calls the platform and passes its status and body through. The platform owns the bot, channel and rate-limit rules and their error codes.

Only the values that SlackBotApiRequest returns go to the platform, never raw input. The activity entry (ai_slack_api) never holds message text.

boolean
code
required
string
message
required
string
retryable
required
boolean
slackError

The Slack error string. Only with code SLACK_ERROR.

string
Example
{
"message": "The requested resource was not found",
"error": true,
"code": "CHANNEL_NOT_ALLOWED",
"slackError": "not_in_channel"
}

RATE_LIMITED. See the Retry-After header.

Media typeapplication/json
object
message
required

Error message

string
error
required

Error flag

boolean
error
required

Thin proxy for the Slack bot API: list API-enabled bots, read channel messages and threads, and post as the bot. The portal validates the request, requires a verified email, calls the platform and passes its status and body through. The platform owns the bot, channel and rate-limit rules and their error codes.

Only the values that SlackBotApiRequest returns go to the platform, never raw input. The activity entry (ai_slack_api) never holds message text.

boolean
code
required
string
message
required
string
retryable
required
boolean
slackError

The Slack error string. Only with code SLACK_ERROR.

string
Example
{
"message": "The requested resource was not found",
"error": true,
"code": "CHANNEL_NOT_ALLOWED",
"slackError": "not_in_channel"
}
Retry-After
integer

SLACK_ERROR. slackError carries the Slack error string.

Media typeapplication/json
object
message
required

Error message

string
error
required

Error flag

boolean
error
required

Thin proxy for the Slack bot API: list API-enabled bots, read channel messages and threads, and post as the bot. The portal validates the request, requires a verified email, calls the platform and passes its status and body through. The platform owns the bot, channel and rate-limit rules and their error codes.

Only the values that SlackBotApiRequest returns go to the platform, never raw input. The activity entry (ai_slack_api) never holds message text.

boolean
code
required
string
message
required
string
retryable
required
boolean
slackError

The Slack error string. Only with code SLACK_ERROR.

string
Example
{
"message": "The requested resource was not found",
"error": true,
"code": "CHANNEL_NOT_ALLOWED",
"slackError": "not_in_channel"
}