Get a thread
curl --request GET \
--url https://api.matrices.com/v1/threads/{threadId} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.matrices.com/v1/threads/{threadId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.matrices.com/v1/threads/{threadId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.matrices.com/v1/threads/{threadId}"
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))
}{
"lastSeq": 123,
"model": "<string>",
"status": "running",
"thread": {
"agentId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": {
"id": "<string>",
"type": "user",
"identity": "<string>",
"origin": {
"provider": "slack",
"senderId": "<string>",
"tenantId": "<string>",
"channelId": "<string>",
"messageId": "<string>",
"threadId": "<string>"
}
},
"id": "<string>",
"updatedAt": "2023-11-07T05:31:56Z",
"updatedBy": {
"id": "<string>",
"type": "user",
"identity": "<string>",
"origin": {
"provider": "slack",
"senderId": "<string>",
"tenantId": "<string>",
"channelId": "<string>",
"messageId": "<string>",
"threadId": "<string>"
}
},
"workspaceId": "<string>",
"identity": "<string>",
"maxCost": 1
},
"updatedAt": "2023-11-07T05:31:56Z",
"budgetSpend": {
"generatedAt": "2023-11-07T05:31:56Z",
"spent": 1,
"window": "24h"
},
"inFlightWaitIds": [
"<string>"
],
"pendingWaits": [
{
"id": "<string>",
"target": "url",
"turnId": "<string>",
"expiresAt": "2023-11-07T05:31:56Z",
"hookId": "<string>",
"point": "before_turn_start",
"processor": "url",
"reason": "<string>",
"toolCallId": "<string>",
"toolInput": "<unknown>",
"toolName": "<string>",
"toolsetId": "<string>"
}
],
"queued": [
{
"content": [
{
"text": "<string>",
"type": "text"
}
],
"id": "<string>",
"queuedAt": "2023-11-07T05:31:56Z",
"submitMode": "queue",
"turnId": "<string>",
"principal": {
"id": "<string>",
"type": "user",
"identity": "<string>",
"origin": {
"provider": "slack",
"senderId": "<string>",
"tenantId": "<string>",
"channelId": "<string>",
"messageId": "<string>",
"threadId": "<string>"
}
}
}
],
"usage": {
"inputTokens": 123,
"outputTokens": 123,
"totalTokens": 123,
"cacheReadTokens": 123,
"cacheWriteTokens": 123,
"estimatedCost": 123,
"reasoningTokens": 123
}
}{
"operation": {
"action": "<string>",
"agentId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"expiresAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"state": "pending",
"resolvedAt": "2023-11-07T05:31:56Z",
"resolvedBy": {
"id": "<string>",
"type": "user",
"identity": "<string>",
"origin": {
"provider": "slack",
"senderId": "<string>",
"tenantId": "<string>",
"channelId": "<string>",
"messageId": "<string>",
"threadId": "<string>"
}
},
"result": {
"status": 349,
"body": "<unknown>"
}
}
}{
"error": "<string>",
"message": "<string>",
"attemptsRemaining": 123,
"code": "<string>",
"retryAfterSeconds": 123
}{
"error": "<string>",
"message": "<string>",
"attemptsRemaining": 123,
"code": "<string>",
"retryAfterSeconds": 123
}{
"error": "<string>",
"message": "<string>",
"attemptsRemaining": 123,
"code": "<string>",
"retryAfterSeconds": 123
}Threads
Get a thread
GET
/
v1
/
threads
/
{threadId}
Get a thread
curl --request GET \
--url https://api.matrices.com/v1/threads/{threadId} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.matrices.com/v1/threads/{threadId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.matrices.com/v1/threads/{threadId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.matrices.com/v1/threads/{threadId}"
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))
}{
"lastSeq": 123,
"model": "<string>",
"status": "running",
"thread": {
"agentId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": {
"id": "<string>",
"type": "user",
"identity": "<string>",
"origin": {
"provider": "slack",
"senderId": "<string>",
"tenantId": "<string>",
"channelId": "<string>",
"messageId": "<string>",
"threadId": "<string>"
}
},
"id": "<string>",
"updatedAt": "2023-11-07T05:31:56Z",
"updatedBy": {
"id": "<string>",
"type": "user",
"identity": "<string>",
"origin": {
"provider": "slack",
"senderId": "<string>",
"tenantId": "<string>",
"channelId": "<string>",
"messageId": "<string>",
"threadId": "<string>"
}
},
"workspaceId": "<string>",
"identity": "<string>",
"maxCost": 1
},
"updatedAt": "2023-11-07T05:31:56Z",
"budgetSpend": {
"generatedAt": "2023-11-07T05:31:56Z",
"spent": 1,
"window": "24h"
},
"inFlightWaitIds": [
"<string>"
],
"pendingWaits": [
{
"id": "<string>",
"target": "url",
"turnId": "<string>",
"expiresAt": "2023-11-07T05:31:56Z",
"hookId": "<string>",
"point": "before_turn_start",
"processor": "url",
"reason": "<string>",
"toolCallId": "<string>",
"toolInput": "<unknown>",
"toolName": "<string>",
"toolsetId": "<string>"
}
],
"queued": [
{
"content": [
{
"text": "<string>",
"type": "text"
}
],
"id": "<string>",
"queuedAt": "2023-11-07T05:31:56Z",
"submitMode": "queue",
"turnId": "<string>",
"principal": {
"id": "<string>",
"type": "user",
"identity": "<string>",
"origin": {
"provider": "slack",
"senderId": "<string>",
"tenantId": "<string>",
"channelId": "<string>",
"messageId": "<string>",
"threadId": "<string>"
}
}
}
],
"usage": {
"inputTokens": 123,
"outputTokens": 123,
"totalTokens": 123,
"cacheReadTokens": 123,
"cacheWriteTokens": 123,
"estimatedCost": 123,
"reasoningTokens": 123
}
}{
"operation": {
"action": "<string>",
"agentId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"expiresAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"state": "pending",
"resolvedAt": "2023-11-07T05:31:56Z",
"resolvedBy": {
"id": "<string>",
"type": "user",
"identity": "<string>",
"origin": {
"provider": "slack",
"senderId": "<string>",
"tenantId": "<string>",
"channelId": "<string>",
"messageId": "<string>",
"threadId": "<string>"
}
},
"result": {
"status": 349,
"body": "<unknown>"
}
}
}{
"error": "<string>",
"message": "<string>",
"attemptsRemaining": 123,
"code": "<string>",
"retryAfterSeconds": 123
}{
"error": "<string>",
"message": "<string>",
"attemptsRemaining": 123,
"code": "<string>",
"retryAfterSeconds": 123
}{
"error": "<string>",
"message": "<string>",
"attemptsRemaining": 123,
"code": "<string>",
"retryAfterSeconds": 123
}Authorizations
APIKeyBearerAgentLeaseBearer
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Response
Thread status and ownership metadata.
Model selected by the latest admitted turn, including queued work.
Available options:
running, awaiting, idle, failed, cancelled Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Total billable model usage, including context compaction.
Show child attributes
Show child attributes