Get the original content of a single message
curl --request GET \
--url https://api.hubapi.com/conversations/conversations/2026-09-beta/threads/{threadId}/messages/{messageId}/original-content \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.hubapi.com/conversations/conversations/2026-09-beta/threads/{threadId}/messages/{messageId}/original-content"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.hubapi.com/conversations/conversations/2026-09-beta/threads/{threadId}/messages/{messageId}/original-content', 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.hubapi.com/conversations/conversations/2026-09-beta/threads/{threadId}/messages/{messageId}/original-content",
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.hubapi.com/conversations/conversations/2026-09-beta/threads/{threadId}/messages/{messageId}/original-content"
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.hubapi.com/conversations/conversations/2026-09-beta/threads/{threadId}/messages/{messageId}/original-content")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/conversations/conversations/2026-09-beta/threads/{threadId}/messages/{messageId}/original-content")
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{
"richText": "<string>",
"text": "<string>"
}{
"message": "Invalid input (details will vary based on the error)",
"correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
"category": "VALIDATION_ERROR",
"links": {
"knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
}
}Messages
Retrieve message content
Retrieve the original content of a specific message within a conversation thread. This endpoint is useful for accessing the initial message content before any modifications or formatting changes. It can be particularly helpful for auditing or reviewing the original message details.
GET
/
conversations
/
conversations
/
2026-09-beta
/
threads
/
{threadId}
/
messages
/
{messageId}
/
original-content
Get the original content of a single message
curl --request GET \
--url https://api.hubapi.com/conversations/conversations/2026-09-beta/threads/{threadId}/messages/{messageId}/original-content \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.hubapi.com/conversations/conversations/2026-09-beta/threads/{threadId}/messages/{messageId}/original-content"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.hubapi.com/conversations/conversations/2026-09-beta/threads/{threadId}/messages/{messageId}/original-content', 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.hubapi.com/conversations/conversations/2026-09-beta/threads/{threadId}/messages/{messageId}/original-content",
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.hubapi.com/conversations/conversations/2026-09-beta/threads/{threadId}/messages/{messageId}/original-content"
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.hubapi.com/conversations/conversations/2026-09-beta/threads/{threadId}/messages/{messageId}/original-content")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/conversations/conversations/2026-09-beta/threads/{threadId}/messages/{messageId}/original-content")
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{
"richText": "<string>",
"text": "<string>"
}{
"message": "Invalid input (details will vary based on the error)",
"correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
"category": "VALIDATION_ERROR",
"links": {
"knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
}
}Supported products
Supported products
Required Scopes
Required Scopes
Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Path Parameters
The unique ID of the message.
The unique ID of the thread.
Query Parameters
A specific property to include in the original content response.
Last modified on March 31, 2026
Was this page helpful?
⌘I