Side Conversation Attachment

File attachments can be included on a side conversation.

JSON format

Side Conversation Attachments are represented as JSON objects with the following properties:

content_typestringtruefalseThe content type of the attachment
heightintegertruefalseThe height of the attachment image
idstringtruefalseThe id of the side conversation attachment
namestringfalsefalseThe name of the attachment
sizeintegertruefalseThe size of the attachment
widthintegertruefalseThe width of the attachment image


{  "content_type": "image/png",  "height": 214,  "id": "s3-d2a3111e-26d9-4e1c-88b4-cf7c0649d81d",  "name": "image.png",  "size": 50645,  "width": 406}

Create Side Conversation Attachments

  • POST /api/v2/tickets/side_conversations/attachments

Creates a new side conversation attachment.

Allowed For

  • Agents

Request Body

Takes a file object as multipart/form-data for the uploaded attachment.

Code Samples

curl https://{subdomain} \  -F 'file=' \  -H "Content-Type: multipart/form-data" -v -u {email_address}:{password} -X POST
import (	"fmt"	"io"	"net/http")
func main() {	url := ""	method := "POST"	req, err := http.NewRequest(method, url, nil)
	if err != nil {		fmt.Println(err)		return	}	req.Header.Add("Content-Type", "application/json")	req.Header.Add("Authorization", "Basic <auth-value>") // Base64 encoded "username:password"
	client := &http.Client {}	res, err := client.Do(req)	if err != nil {		fmt.Println(err)		return	}	defer res.Body.Close()
	body, err := io.ReadAll(res.Body)	if err != nil {		fmt.Println(err)		return	}	fmt.Println(string(body))}
import com.squareup.okhttp.*;OkHttpClient client = new OkHttpClient();HttpUrl.Builder urlBuilder = HttpUrl.parse("")		.newBuilder();RequestBody body = RequestBody.create(MediaType.parse("application/json"),		"""""");
Request request = new Request.Builder()		.url(		.method("POST", body)		.addHeader("Content-Type", "application/json")		.addHeader("Authorization", Credentials.basic("your-email", "your-password"))		.build();Response response = client.newCall(request).execute();
var axios = require('axios');
var config = {  method: 'POST',  url: '',  headers: {	'Content-Type': 'application/json',	'Authorization': 'Basic <auth-value>', // Base64 encoded "username:password"  },};
axios(config).then(function (response) {  console.log(JSON.stringify(;}).catch(function (error) {  console.log(error);});
import requests
url = ""headers = {	"Content-Type": "application/json",}
response = requests.request(	"POST",	url,	auth=('<username>', '<password>'),	headers=headers)
require "net/http"uri = URI("")request =, "Content-Type": "application/json")request.basic_auth "username", "password"response = Net::HTTP.start uri.hostname, uri.port, use_ssl: true do |http|	http.request(request)end

Example response(s)

201 Created
// Status 201 Created
{  "content_type": "image/png",  "height": 214,  "id": "s3-d2a3111e-26d9-4e1c-88b4-cf7c0649d81d",  "name": "image.png",  "size": 50645,  "width": 406}