CLI
# Requires: npm i -g @infinite_dev/cli && export INFINITE_API_KEY=sk_sandbox_...
# Escape hatch for any endpoint: infinite api <METHOD> <path>
infinite api GET /v1/assistant/threads/<threadId>/messages \
--query limit=10List messages in a thread (<threadId>, latest true).import requests
url = "https://sandbox.api.infinite.dev/v1/assistant/threads/{threadId}/messages"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox.api.infinite.dev/v1/assistant/threads/{threadId}/messages', 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://sandbox.api.infinite.dev/v1/assistant/threads/{threadId}/messages",
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://sandbox.api.infinite.dev/v1/assistant/threads/{threadId}/messages"
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://sandbox.api.infinite.dev/v1/assistant/threads/{threadId}/messages")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.api.infinite.dev/v1/assistant/threads/{threadId}/messages")
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{
"data": [
{
"id": "<string>",
"threadId": "<string>",
"role": "user",
"parts": [
{
"type": "<string>",
"text": "<string>",
"toolCallId": "<string>",
"tool": "<string>",
"argsSummary": "<string>",
"status": "<string>",
"preview": "<string>"
}
],
"createdAt": "2023-11-07T05:31:56Z",
"runId": "<string>",
"tokensIn": 123,
"tokensOut": 123
}
],
"total": 123,
"limit": 123,
"offset": 123
}Assistant
List messages in a thread
GET
/
v1
/
assistant
/
threads
/
{threadId}
/
messages
CLI
# Requires: npm i -g @infinite_dev/cli && export INFINITE_API_KEY=sk_sandbox_...
# Escape hatch for any endpoint: infinite api <METHOD> <path>
infinite api GET /v1/assistant/threads/<threadId>/messages \
--query limit=10List messages in a thread (<threadId>, latest true).import requests
url = "https://sandbox.api.infinite.dev/v1/assistant/threads/{threadId}/messages"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox.api.infinite.dev/v1/assistant/threads/{threadId}/messages', 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://sandbox.api.infinite.dev/v1/assistant/threads/{threadId}/messages",
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://sandbox.api.infinite.dev/v1/assistant/threads/{threadId}/messages"
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://sandbox.api.infinite.dev/v1/assistant/threads/{threadId}/messages")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.api.infinite.dev/v1/assistant/threads/{threadId}/messages")
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{
"data": [
{
"id": "<string>",
"threadId": "<string>",
"role": "user",
"parts": [
{
"type": "<string>",
"text": "<string>",
"toolCallId": "<string>",
"tool": "<string>",
"argsSummary": "<string>",
"status": "<string>",
"preview": "<string>"
}
],
"createdAt": "2023-11-07T05:31:56Z",
"runId": "<string>",
"tokensIn": 123,
"tokensOut": 123
}
],
"total": 123,
"limit": 123,
"offset": 123
}Authorizations
bearerbearer
API Key in Bearer format (e.g., Bearer sk_test_...)
Headers
API key (non-production only)
Path Parameters
Query Parameters
Required range:
1 <= x <= 200Required range:
x >= 0When true (default), return the most recent limit messages in chronological order. offset then pages older from that window. When false, offset is from the oldest message.
Was this page helpful?