Skip to main content
POST
/
api
/
contacts
/
{id}
/
separate
Separate one contact into two
curl --request POST \
  --url https://your-instance.example.com/api/contacts/{id}/separate \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "fieldSplit": {
    "firstName": {
      "original": "Jane",
      "new": "Janet"
    },
    "lastName": {
      "original": "Doe",
      "new": "Doe"
    },
    "status": "original",
    "pipelineId": "original",
    "pipelineStage": "original",
    "assignees": "original",
    "outreachConfigId": "original"
  },
  "childRecordAssignment": {
    "conversations": {
      "64f0a1b2c3d4e5f6a7b8c9e0": "new"
    },
    "applications": {},
    "contactNotes": {},
    "reminders": {},
    "trainingSnapshots": {}
  }
}
'
{
  "success": true,
  "data": {
    "originalContactId": "64f0a1b2c3d4e5f6a7b8c9d0",
    "newContactId": "64f0a1b2c3d4e5f6a7b8ca20",
    "summary": {
      "conversationsMoved": 1,
      "applicationsMoved": 0,
      "notesMoved": 0,
      "remindersMoved": 0,
      "trainingSnapshotsMoved": 0,
      "messagesReassigned": 4
    }
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.tetherai.ca/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
string
required

Body

application/json
fieldSplit
object
required

How each contact field (name, phone, email, documents, misc, etc.) is divided between the original and the newly-created contact.

Example:
{
"firstName": { "original": "Jane", "new": "Janet" },
"lastName": { "original": "Doe", "new": "Doe" },
"phoneNumber": {
"original": "+14165550100",
"new": "+14165550199"
},
"status": "original",
"pipelineId": "original",
"pipelineStage": "original",
"assignees": "original",
"outreachConfigId": "original"
}
childRecordAssignment
object
required

Per-record-type maps assigning each conversation/application/note/reminder/training-snapshot id to either original or new.

Example:
{
"conversations": { "64f0a1b2c3d4e5f6a7b8c9e0": "original" },
"applications": { "64f0a1b2c3d4e5f6a7b8c9f0": "new" },
"contactNotes": {},
"reminders": {},
"trainingSnapshots": {}
}
messageDividers
object[]

Optional per-conversation message-split points indicating where to cut the message timeline between the two contacts.

newConversationMeta
object[]

Optional metadata (e.g. channel, assignees) for any brand-new conversations created on the separated contact.

Response

Contact separated

success
enum<boolean>
required
Available options:
true
data
object
required