Retrieve a thread
Returns the thread. Pass include[]=timeline_entries for the first page of activity, or list GET /v1/threads/:id/timeline_entries for paginated history. Expand assignee and actor.user to hydrate user objects.
curl --request GET \
--url https://api.yorlet.com/v1/threads/{id} \
--header 'Authorization: <api-key>'import requests
url = "https://api.yorlet.com/v1/threads/{id}"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.yorlet.com/v1/threads/{id}', 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.yorlet.com/v1/threads/{id}",
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: <api-key>"
],
]);
$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.yorlet.com/v1/threads/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
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.yorlet.com/v1/threads/{id}")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.yorlet.com/v1/threads/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"created": 123,
"object": "thread",
"assignee": {
"id": "<string>",
"created": 123,
"object": "user",
"email": "<string>",
"name": "<string>",
"account": "<string>",
"deleted": false
},
"channel": "email",
"counterparty": "<string>",
"customer": "<string>",
"last_message_at": 123,
"owner": "<string>",
"status": "open",
"unread": true,
"account": "<string>",
"deleted": false,
"email": {
"address": "<string>",
"subject": "<string>"
},
"metadata": {},
"timeline_entries": {
"count": 1,
"has_more": false,
"object": "list",
"data": [
{
"id": "<string>",
"created": 123,
"object": "timeline_entry",
"actor": {
"type": "user",
"user": "<string>",
"key": "<string>"
},
"occurred_at": 123,
"thread": "<string>",
"type": "message",
"account": "<string>",
"deleted": false,
"assignee_change": {
"from": "<string>",
"to": "<string>"
},
"message": "<string>",
"status_change": {
"from": "open",
"to": "open"
}
}
]
}
}Authorizations
API Key authentication. Use "Bearer YOUR_API_KEY".
Path Parameters
The id identifier.
Response
Returns the thread object.
Unique identifier for the object.
Time at which the object was created. Measured in seconds since the Unix epoch.
thread The user this thread is assigned to, if any. The user id, or the user object when expanded with assignee.
Show child attributes
Show child attributes
The communication channel for this thread. email today; additional channels may be added later.
email The other party’s address on this channel (email address today, phone number later).
The matched customer, if the counterparty resolved to one.
When the most recent message was sent or received.
The matched owner, if the counterparty resolved to one.
Whether the thread is open or closed.
open, closed Whether the thread has inbound messages the authenticated user has not seen. Always false for API key requests.
The account that the object belongs to. Only returned if the request is made with a valid Yorlet-Context header.
Only returned if the object has been deleted.
Email-specific fields. Present when channel is email.
Show child attributes
Show child attributes
Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
Show child attributes
Show child attributes
The first page of timeline entries, newest first. Omitted unless include[]=timeline_entries.
Show child attributes
Show child attributes
Was this page helpful?
curl --request GET \
--url https://api.yorlet.com/v1/threads/{id} \
--header 'Authorization: <api-key>'import requests
url = "https://api.yorlet.com/v1/threads/{id}"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.yorlet.com/v1/threads/{id}', 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.yorlet.com/v1/threads/{id}",
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: <api-key>"
],
]);
$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.yorlet.com/v1/threads/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
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.yorlet.com/v1/threads/{id}")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.yorlet.com/v1/threads/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"created": 123,
"object": "thread",
"assignee": {
"id": "<string>",
"created": 123,
"object": "user",
"email": "<string>",
"name": "<string>",
"account": "<string>",
"deleted": false
},
"channel": "email",
"counterparty": "<string>",
"customer": "<string>",
"last_message_at": 123,
"owner": "<string>",
"status": "open",
"unread": true,
"account": "<string>",
"deleted": false,
"email": {
"address": "<string>",
"subject": "<string>"
},
"metadata": {},
"timeline_entries": {
"count": 1,
"has_more": false,
"object": "list",
"data": [
{
"id": "<string>",
"created": 123,
"object": "timeline_entry",
"actor": {
"type": "user",
"user": "<string>",
"key": "<string>"
},
"occurred_at": 123,
"thread": "<string>",
"type": "message",
"account": "<string>",
"deleted": false,
"assignee_change": {
"from": "<string>",
"to": "<string>"
},
"message": "<string>",
"status_change": {
"from": "open",
"to": "open"
}
}
]
}
}