curl --request POST \
--url https://api.hubapi.com/conversations/v3/conversations/threads/{threadId}/messages \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "MESSAGE",
"text": "<string>",
"attachments": [
{
"fileId": "<string>",
"type": "FILE"
}
],
"recipients": [
{
"deliveryIdentifiers": [
{
"type": "CHANNEL_SPECIFIC_OPAQUE_ID",
"value": "<string>"
}
],
"actorId": "<string>",
"deliveryIdentifier": {
"type": "CHANNEL_SPECIFIC_OPAQUE_ID",
"value": "<string>"
},
"name": "<string>",
"recipientField": "<string>"
}
],
"senderActorId": "<string>",
"channelId": "<string>",
"channelAccountId": "<string>",
"richText": "<string>",
"subject": "<string>"
}
'{
"type": "MESSAGE",
"id": "<string>",
"conversationsThreadId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": "<string>",
"client": {
"clientType": "HUBSPOT",
"integrationAppId": 123
},
"senders": [
{
"actorId": "<string>",
"deliveryIdentifier": {
"type": "CHANNEL_SPECIFIC_OPAQUE_ID",
"value": "<string>"
},
"name": "<string>",
"senderField": "<string>"
}
],
"recipients": [
{
"deliveryIdentifier": {
"type": "CHANNEL_SPECIFIC_OPAQUE_ID",
"value": "<string>"
},
"actorId": "<string>",
"name": "<string>",
"recipientField": "<string>"
}
],
"archived": true,
"text": "<string>",
"attachments": [
{
"fileId": "<string>",
"fileUsageType": "AUDIO",
"type": "FILE",
"name": "<string>",
"url": "<string>"
}
],
"truncationStatus": "NOT_TRUNCATED",
"direction": "INCOMING",
"channelId": "<string>",
"channelAccountId": "<string>",
"updatedAt": "2023-11-07T05:31:56Z",
"richText": "<string>",
"subject": "<string>",
"inReplyToId": "<string>",
"status": {
"statusType": "FAILED",
"failureDetails": {
"errorMessageTokens": {},
"errorMessage": "<string>"
}
}
}Send a new message on a thread at the current timestamp.
curl --request POST \
--url https://api.hubapi.com/conversations/v3/conversations/threads/{threadId}/messages \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "MESSAGE",
"text": "<string>",
"attachments": [
{
"fileId": "<string>",
"type": "FILE"
}
],
"recipients": [
{
"deliveryIdentifiers": [
{
"type": "CHANNEL_SPECIFIC_OPAQUE_ID",
"value": "<string>"
}
],
"actorId": "<string>",
"deliveryIdentifier": {
"type": "CHANNEL_SPECIFIC_OPAQUE_ID",
"value": "<string>"
},
"name": "<string>",
"recipientField": "<string>"
}
],
"senderActorId": "<string>",
"channelId": "<string>",
"channelAccountId": "<string>",
"richText": "<string>",
"subject": "<string>"
}
'{
"type": "MESSAGE",
"id": "<string>",
"conversationsThreadId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": "<string>",
"client": {
"clientType": "HUBSPOT",
"integrationAppId": 123
},
"senders": [
{
"actorId": "<string>",
"deliveryIdentifier": {
"type": "CHANNEL_SPECIFIC_OPAQUE_ID",
"value": "<string>"
},
"name": "<string>",
"senderField": "<string>"
}
],
"recipients": [
{
"deliveryIdentifier": {
"type": "CHANNEL_SPECIFIC_OPAQUE_ID",
"value": "<string>"
},
"actorId": "<string>",
"name": "<string>",
"recipientField": "<string>"
}
],
"archived": true,
"text": "<string>",
"attachments": [
{
"fileId": "<string>",
"fileUsageType": "AUDIO",
"type": "FILE",
"name": "<string>",
"url": "<string>"
}
],
"truncationStatus": "NOT_TRUNCATED",
"direction": "INCOMING",
"channelId": "<string>",
"channelAccountId": "<string>",
"updatedAt": "2023-11-07T05:31:56Z",
"richText": "<string>",
"subject": "<string>",
"inReplyToId": "<string>",
"status": {
"statusType": "FAILED",
"failureDetails": {
"errorMessageTokens": {},
"errorMessage": "<string>"
}
}
}Supported products
Required Scopes
The access token received from the authorization server in the OAuth 2.0 flow.
MESSAGE Show child attributes
Show child attributes
successful operation
MESSAGE Show child attributes
Show child attributes
Show child attributes
Show child attributes
NOT_TRUNCATED, TRUNCATED_TO_MOST_RECENT_REPLY, TRUNCATED INCOMING, OUTGOING Show child attributes
Was this page helpful?