curl --request POST \
--url https://{organization}.rescueconsole.com/api/communications/threads/{id}/merge \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"into_thread_id": "f1e2d3c4-b5a6-4789-9abc-def012345678"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({into_thread_id: 'f1e2d3c4-b5a6-4789-9abc-def012345678'})
};
fetch('https://{organization}.rescueconsole.com/api/communications/threads/{id}/merge', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{organization}.rescueconsole.com/api/communications/threads/{id}/merge"
payload = { "into_thread_id": "f1e2d3c4-b5a6-4789-9abc-def012345678" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"messages": [
{
"id": "<string>",
"direction": "inbound",
"from_address": "<string>",
"from_name": "<string>",
"to_addresses": [
"<string>"
],
"cc_addresses": [
"<string>"
],
"subject": "<string>",
"body_text": "<string>",
"body_html": "<string>",
"has_html": true,
"authentication": {
"spf": "<string>",
"dkim": "<string>",
"dmarc": "<string>"
},
"attachments": [
{
"file_id": "<string>",
"filename": "<string>",
"content_type": "<string>",
"size": 123
}
],
"received_at": "2023-11-07T05:31:56Z"
}
],
"links": [
{
"id": "<string>",
"entity_type": "person",
"entity_id": "<string>",
"source": "<string>",
"is_confirmed": true,
"confirmed_at": "<string>",
"confirmed_by_person_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"entity_label": "<string>"
}
],
"id": "<string>",
"inbox_id": "<string>",
"inbox_name": "<string>",
"inbox_display_name": "<string>",
"subject": "<string>",
"status": "open",
"assigned_person_id": "<string>",
"assigned_person_name": "<string>",
"is_archived": true,
"archived_at": "<string>",
"is_unread": true,
"message_count": 123,
"last_message_at": "2023-11-07T05:31:56Z",
"last_from": "<string>",
"last_direction": "<string>",
"last_snippet": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}Merge two conversations
Moves every message and link of this conversation into another in the same inbox, then deletes this one. For a reply that arrived as a new conversation. This cannot be undone. The other conversation keeps the later last-message time and stays unread if either was. Both must be ones this key may read; conversations in different inboxes cannot be merged (409). A key sees the inboxes that the person who made the key may read, as that person’s access stands at the moment of the request; a conversation in any other inbox answers 404, the same as one that does not exist. Needs write on Communications.
curl --request POST \
--url https://{organization}.rescueconsole.com/api/communications/threads/{id}/merge \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"into_thread_id": "f1e2d3c4-b5a6-4789-9abc-def012345678"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({into_thread_id: 'f1e2d3c4-b5a6-4789-9abc-def012345678'})
};
fetch('https://{organization}.rescueconsole.com/api/communications/threads/{id}/merge', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{organization}.rescueconsole.com/api/communications/threads/{id}/merge"
payload = { "into_thread_id": "f1e2d3c4-b5a6-4789-9abc-def012345678" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"messages": [
{
"id": "<string>",
"direction": "inbound",
"from_address": "<string>",
"from_name": "<string>",
"to_addresses": [
"<string>"
],
"cc_addresses": [
"<string>"
],
"subject": "<string>",
"body_text": "<string>",
"body_html": "<string>",
"has_html": true,
"authentication": {
"spf": "<string>",
"dkim": "<string>",
"dmarc": "<string>"
},
"attachments": [
{
"file_id": "<string>",
"filename": "<string>",
"content_type": "<string>",
"size": 123
}
],
"received_at": "2023-11-07T05:31:56Z"
}
],
"links": [
{
"id": "<string>",
"entity_type": "person",
"entity_id": "<string>",
"source": "<string>",
"is_confirmed": true,
"confirmed_at": "<string>",
"confirmed_by_person_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"entity_label": "<string>"
}
],
"id": "<string>",
"inbox_id": "<string>",
"inbox_name": "<string>",
"inbox_display_name": "<string>",
"subject": "<string>",
"status": "open",
"assigned_person_id": "<string>",
"assigned_person_name": "<string>",
"is_archived": true,
"archived_at": "<string>",
"is_unread": true,
"message_count": 123,
"last_message_at": "2023-11-07T05:31:56Z",
"last_from": "<string>",
"last_direction": "<string>",
"last_snippet": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}Authorizations
An API key from Settings, API keys. It starts with rc_live_.
Path Parameters
The conversation's ID.
Body
The conversation to keep.
Response
The conversation that was kept, as it now is.
Oldest first.
Show child attributes
Show child attributes
Every record the conversation is linked to, confirmed or not.
Show child attributes
Show child attributes
The inbox's name, the part of its address that is its own.
open, closed, spam Who is handling it.
Put away. An archived conversation keeps its status and is left out of every list but the archived one.
When it was archived.
Who sent the latest message. In the list only; null elsewhere.
inbound or outbound, for the latest message. In the list only; null elsewhere.
The first 200 characters of the latest message. In the list only; null elsewhere.