curl --request POST \
--url https://api.example.com/api/v1/customer/support-cases/{supportCaseId}/messages \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"body": "Ainda preciso de ajuda.",
"attachments": [
{
"storageKey": "support-cases/0197f150/evidence.png",
"fileName": "evidence.png",
"contentType": "image/png"
}
]
}
'import requests
url = "https://api.example.com/api/v1/customer/support-cases/{supportCaseId}/messages"
payload = {
"body": "Ainda preciso de ajuda.",
"attachments": [
{
"storageKey": "support-cases/0197f150/evidence.png",
"fileName": "evidence.png",
"contentType": "image/png"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
body: JSON.stringify('Ainda preciso de ajuda.'),
attachments: [
{
storageKey: 'support-cases/0197f150/evidence.png',
fileName: 'evidence.png',
contentType: 'image/png'
}
]
})
};
fetch('https://api.example.com/api/v1/customer/support-cases/{supportCaseId}/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://api.example.com/api/v1/customer/support-cases/{supportCaseId}/messages",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'body' => 'Ainda preciso de ajuda.',
'attachments' => [
[
'storageKey' => 'support-cases/0197f150/evidence.png',
'fileName' => 'evidence.png',
'contentType' => 'image/png'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v1/customer/support-cases/{supportCaseId}/messages"
payload := strings.NewReader("{\n \"body\": \"Ainda preciso de ajuda.\",\n \"attachments\": [\n {\n \"storageKey\": \"support-cases/0197f150/evidence.png\",\n \"fileName\": \"evidence.png\",\n \"contentType\": \"image/png\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/api/v1/customer/support-cases/{supportCaseId}/messages")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"body\": \"Ainda preciso de ajuda.\",\n \"attachments\": [\n {\n \"storageKey\": \"support-cases/0197f150/evidence.png\",\n \"fileName\": \"evidence.png\",\n \"contentType\": \"image/png\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/customer/support-cases/{supportCaseId}/messages")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"body\": \"Ainda preciso de ajuda.\",\n \"attachments\": [\n {\n \"storageKey\": \"support-cases/0197f150/evidence.png\",\n \"fileName\": \"evidence.png\",\n \"contentType\": \"image/png\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"supportCaseMessageId": "0197f152-58dd-70c7-a69d-35ecda7ff28f",
"supportCaseId": "0197f150-40d6-7c1a-bdf2-c5884e07d401",
"senderType": "CUSTOMER",
"visibility": "PUBLIC",
"body": "Ainda preciso de ajuda.",
"createdAt": "2026-07-10T12:00:00.000Z",
"updatedAt": "2026-07-10T12:00:00.000Z",
"senderUserId": null,
"readAt": null,
"deletedAt": null
}{
"errors": [
{
"message": "required",
"path": "name"
}
],
"message": "Bad Request Error",
"statusCode": 400
}{
"message": "Missing or invalid access token",
"statusCode": 401
}{
"message": "Internal Server Error",
"statusCode": 500
}Create Support Case Message
Adds a public message to a customer support case.
curl --request POST \
--url https://api.example.com/api/v1/customer/support-cases/{supportCaseId}/messages \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"body": "Ainda preciso de ajuda.",
"attachments": [
{
"storageKey": "support-cases/0197f150/evidence.png",
"fileName": "evidence.png",
"contentType": "image/png"
}
]
}
'import requests
url = "https://api.example.com/api/v1/customer/support-cases/{supportCaseId}/messages"
payload = {
"body": "Ainda preciso de ajuda.",
"attachments": [
{
"storageKey": "support-cases/0197f150/evidence.png",
"fileName": "evidence.png",
"contentType": "image/png"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
body: JSON.stringify('Ainda preciso de ajuda.'),
attachments: [
{
storageKey: 'support-cases/0197f150/evidence.png',
fileName: 'evidence.png',
contentType: 'image/png'
}
]
})
};
fetch('https://api.example.com/api/v1/customer/support-cases/{supportCaseId}/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://api.example.com/api/v1/customer/support-cases/{supportCaseId}/messages",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'body' => 'Ainda preciso de ajuda.',
'attachments' => [
[
'storageKey' => 'support-cases/0197f150/evidence.png',
'fileName' => 'evidence.png',
'contentType' => 'image/png'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v1/customer/support-cases/{supportCaseId}/messages"
payload := strings.NewReader("{\n \"body\": \"Ainda preciso de ajuda.\",\n \"attachments\": [\n {\n \"storageKey\": \"support-cases/0197f150/evidence.png\",\n \"fileName\": \"evidence.png\",\n \"contentType\": \"image/png\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/api/v1/customer/support-cases/{supportCaseId}/messages")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"body\": \"Ainda preciso de ajuda.\",\n \"attachments\": [\n {\n \"storageKey\": \"support-cases/0197f150/evidence.png\",\n \"fileName\": \"evidence.png\",\n \"contentType\": \"image/png\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/customer/support-cases/{supportCaseId}/messages")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"body\": \"Ainda preciso de ajuda.\",\n \"attachments\": [\n {\n \"storageKey\": \"support-cases/0197f150/evidence.png\",\n \"fileName\": \"evidence.png\",\n \"contentType\": \"image/png\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"supportCaseMessageId": "0197f152-58dd-70c7-a69d-35ecda7ff28f",
"supportCaseId": "0197f150-40d6-7c1a-bdf2-c5884e07d401",
"senderType": "CUSTOMER",
"visibility": "PUBLIC",
"body": "Ainda preciso de ajuda.",
"createdAt": "2026-07-10T12:00:00.000Z",
"updatedAt": "2026-07-10T12:00:00.000Z",
"senderUserId": null,
"readAt": null,
"deletedAt": null
}{
"errors": [
{
"message": "required",
"path": "name"
}
],
"message": "Bad Request Error",
"statusCode": 400
}{
"message": "Missing or invalid access token",
"statusCode": 401
}{
"message": "Internal Server Error",
"statusCode": 500
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Support case identifier
"0197f150-40d6-7c1a-bdf2-c5884e07d401"
Query Parameters
Comma-separated list of fields to include in the response. Supports dot notation for nested projection (e.g. id,name,user.email,trips.route.id). Unknown fields are silently dropped.
Body
Response
Created
Support case message
Support case message identifier
"0197f152-58dd-70c7-a69d-35ecda7ff28f"
Support case identifier
"0197f150-40d6-7c1a-bdf2-c5884e07d401"
Support case message sender type
CUSTOMER, OPERATIONS, BKO, SYSTEM "CUSTOMER"
Support case message visibility
PUBLIC, INTERNAL "PUBLIC"
Message body
10000"Ainda preciso de ajuda."
Created at
"2026-07-10T12:00:00.000Z"
Updated at
"2026-07-10T12:00:00.000Z"
Sender user identifier
null
Read at
null
Deleted at
null