Skip to main content
POST
/
api
/
campaigns
/
validate-contacts
Classify campaign contacts for the Review step
curl --request POST \
  --url https://your-instance.example.com/api/campaigns/validate-contacts \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "contacts": [
    {
      "firstName": "Jamie",
      "phoneNumber": "+14155550133"
    },
    {
      "firstName": "Casey",
      "phoneNumber": "+14155550144"
    }
  ],
  "segmentationConfig": {
    "enabled": false
  },
  "assignmentConfig": {
    "isAssignmentEnabled": false
  }
}
'
{
  "success": true,
  "data": {
    "newContacts": [
      {
        "firstName": "Jamie",
        "phoneNumber": "+14155550133"
      }
    ],
    "existingContacts": [],
    "assignedToOtherUsers": [],
    "alreadyMessagedOutbound": [],
    "alreadyMessagedInbound": [],
    "assignedToYouNotOwned": [],
    "protectedContacts": []
  }
}

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.

Body

application/json
contacts
object[]
required

CSV-derived contact payloads; each must include a phone number.

segmentationConfig
object

Optional segmentation config (enabled, contactDistribution, etc.).

assignmentConfig
object

Optional assignment config (isAssignmentEnabled, assignmentType, selectedUsers, segmentAssignments).

Response

Classification result returned

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

Buckets each input contact falls into based on phone matching, ownership, message history, assignee status, and the org's contact protection period.

Example:
{
"newContacts": [
{
"firstName": "Jamie",
"phoneNumber": "+14155550133"
}
],
"existingContacts": [
{
"_id": "665f1a0c0e0a4b001a2c9f01",
"phoneNumber": "+14155550144"
}
],
"assignedToOtherUsers": [],
"alreadyMessagedOutbound": [],
"alreadyMessagedInbound": [],
"assignedToYouNotOwned": [],
"protectedContacts": []
}
message
string