curl --request GET \
--url https://api.example.com/api/chat/threads \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/chat/threads"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/api/chat/threads', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/chat/threads",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/chat/threads"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/api/chat/threads")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/chat/threads")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"status": "regular",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"created_by": "<string>",
"can_post": true,
"can_manage": true,
"can_share": true,
"title": "<string>",
"workspace_id": "<string>",
"instructions": "<string>",
"defaults": {
"trino_catalog": "<string>",
"trino_schema": "<string>",
"datahub_domain": "<string>",
"decisions_workspace": "<string>"
},
"subject": {
"type": "dataeng_query",
"id": "<string>",
"label": "<string>"
}
}
]{
"error": "<string>",
"code": 500
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}{
"error": "<string>",
"code": 500
}List chat threads
Returns your personal threads, or with workspace_id that workspace’s threads, most recently active first, including archived ones.
curl --request GET \
--url https://api.example.com/api/chat/threads \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/chat/threads"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/api/chat/threads', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/chat/threads",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/chat/threads"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/api/chat/threads")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/chat/threads")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"status": "regular",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"created_by": "<string>",
"can_post": true,
"can_manage": true,
"can_share": true,
"title": "<string>",
"workspace_id": "<string>",
"instructions": "<string>",
"defaults": {
"trino_catalog": "<string>",
"trino_schema": "<string>",
"datahub_domain": "<string>",
"decisions_workspace": "<string>"
},
"subject": {
"type": "dataeng_query",
"id": "<string>",
"label": "<string>"
}
}
]{
"error": "<string>",
"code": 500
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}{
"error": "<string>",
"code": 500
}Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Query Parameters
Maximum number of threads to return.
1 <= x <= 500List this workspace's threads instead of your personal ones.
Response
Successful Response
Thread ID.
Active or archived.
regular, archived When the thread was created.
Last activity in the thread.
Who started the thread.
Whether you can send messages in it.
Whether you can rename, archive or delete it.
Whether you can create share links for it.
Display title; null until the first message.
The workspace the thread belongs to; null for a personal thread.
Standing instructions for the assistant, as Markdown. Added to the base prompt, never replacing it, and added to rather than replacing any the workspace sets. Cannot change which tools exist or which need approval.
What the assistant reaches for first in this thread.
Show child attributes
Show child attributes
The item this thread is about, if it is bound to one.
Show child attributes
Show child attributes
Was this page helpful?

