careCycle
CustomersRelationships

Add related customer

Add a person who shares this customer's phone number, such as a spouse, or link an existing customer. Call it when POST /v2/customers returns 409 with an existingCustomerId. A person already on the number is returned instead of duplicated, so retries are safe. The person is not the number's primary unless isPrimaryForPhone is true.

POST
/v2/customers/{id}/related

Authorization

x-api-key
x-api-key<token>

API key required for authentication.

Keys begin with 'cc_' prefix. Get your API key from the Developer Dashboard.

In: header

Path Parameters

string

Customer the person is related to

Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$Formatuuid

Request Body

application/json

POST /v2/customers/:id/related Request body

TypeScript Definitions

Use the request body type in TypeScript.

string

What the related customer is to the customer in the path, for example spouse or child

Value in"spouse" | "child" | "parent" | "sibling" | "power_of_attorney" | "other"
string

Link an existing customer instead of adding a person

Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$Formatuuid
object

A person who shares this customer's phone number. They get the number, its call and text opt-outs, and the customer's assigned agent. Send mbiNumber, clientCustomerId (your own ID for the person), or firstName, lastName and dateOfBirth so repeat requests match them; at least one is required.

string | null
Lengthlength <= 255
string | null
Value in"Lead" | "Active" | "Inactive" | null
string | null
Value in"Qualified" | "Disqualified" | "Pending Review" | "Needs Information" | "In Progress" | null
string | null
Value in"High" | "Medium" | "Low" | "Unknown" | null
boolean | null
string | null
Lengthlength <= 255
string | null
Lengthlength <= 255
string | null
Lengthlength <= 255
string | null
Lengthlength <= 50
string | null
Lengthlength <= 50
string | null
Lengthlength <= 255
string | null
Lengthlength <= 255
string | null
Lengthlength <= 255
string | null
Lengthlength <= 255
string | null
Value in"landline" | "mobile" | "fixedVoip" | "nonFixedVoip" | "personal" | "tollFree" | "premium" | "sharedCost" | "uan" | "voicemail" | "pager" | "unknown" | null
string | null
Lengthlength <= 255
string | null

Customer date of birth. Canonical format: YYYY-MM-DD

Formatdate
string | null
Lengthlength <= 50
string | null
Lengthlength <= 50
string | null
Value in"Male" | "Female" | "Non-Binary" | "Other" | "Prefer Not to Say" | null
string | null
Value in"Single" | "Married" | "Divorced" | "Widowed" | "Separated" | "Domestic Partnership" | null
integer | null
Range-2147483648 <= value <= 2147483647
integer | null
Range-2147483648 <= value <= 2147483647
boolean | null
string | null
Lengthlength <= 20
string | null
Lengthlength <= 50
string | null
Lengthlength <= 50
string | null
Lengthlength <= 255
string | null
Lengthlength <= 255
string | null
Lengthlength <= 255
string | null
Lengthlength <= 255
string | null
Lengthlength <= 255
boolean | null
string | null

Medicare Part A effective date. Canonical format: YYYY-MM-DD

Formatdate
string | null

Medicare Part B effective date. Canonical format: YYYY-MM-DD

Formatdate
boolean | null
string | null
Lengthlength <= 255
boolean | null
boolean | null
string | null
Lengthlength <= 255
string | null
Lengthlength <= 255
integer | null
Range-2147483648 <= value <= 2147483647
integer | null
Range-2147483648 <= value <= 2147483647
string | null
Lengthlength <= 50
integer | null
Range-2147483648 <= value <= 2147483647
integer | null
Range-2147483648 <= value <= 2147483647
boolean | null
string | null
Value in"None" | "Medicare Advantage" | "Original Medicare" | "Medicaid" | "Employer" | "Marketplace/ACA" | "Other" | null
string | null
Lengthlength <= 255
string | null
Lengthlength <= 255
string | null

Desired coverage start date. Canonical format: YYYY-MM-DD

Formatdate
string | null
Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$Formatuuid
string | null
Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$Formatuuid
string | null
Lengthlength <= 255
integer | null
Range-2147483648 <= value <= 2147483647
string | null
Lengthlength <= 255
string | null
Lengthlength <= 255
string | null
Lengthlength <= 255
string | null

Customer enrollment date. Canonical format: YYYY-MM-DD

Formatdate
string | null

Customer coverage effective date. Canonical format: YYYY-MM-DD

Formatdate
string | null
Lengthlength <= 255
boolean | null
boolean | null
string | null

Customer last contact time. ISO 8601 timestamp

Formatdate-time
string | null

Customer conversion time. ISO 8601 timestamp

Formatdate-time
boolean
boolean

With relatedCustomerId: move that customer onto this customer's phone number as a related customer. They take the number's call and SMS opt-outs.

boolean

Make the related customer the primary contact for the shared phone number: inbound calls, texts and outreach then go to them. Both customers must share the number. Applies only when the person or link is new; a repeat request does not change the primary.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://api.carecycle.ai/v2/customers/497f6eca-6276-4993-bfeb-53cbbbba6f08/related" \  -H "Content-Type: application/json" \  -d '{    "relationshipType": "spouse"  }'
{
  "outcome": "created",
  "customer": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "createdAt": "2019-08-24T14:15:22Z",
    "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
    "updatedAt": "2019-08-24T14:15:22Z",
    "updatedBy": "b0efe45f-0520-4e21-90f0-7e35f137732e",
    "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
    "clientCustomerId": "string",
    "status": "Lead",
    "qualificationStatus": "Qualified",
    "intent": "High",
    "isDecisionMaker": true,
    "disqualificationReason": "string",
    "productInterest": "string",
    "productFamily": "string",
    "salutation": "string",
    "suffix": "string",
    "firstName": "string",
    "middleName": "string",
    "lastName": "string",
    "preferredName": "string",
    "callerId": "string",
    "isPhonePrimary": true,
    "lineType": "landline",
    "email": "string",
    "dateOfBirth": "2019-08-24",
    "language": "string",
    "ethnicity": "string",
    "gender": "Male",
    "maritalStatus": "Single",
    "heightInches": -2147483648,
    "weightPounds": -2147483648,
    "smokerStatus": true,
    "postalCode": "string",
    "timezone": "string",
    "state": "string",
    "city": "string",
    "county": "string",
    "address": "string",
    "address2": "string",
    "mbiNumber": "string",
    "medicareCard": true,
    "medicarePartADate": "2019-08-24",
    "medicarePartBDate": "2019-08-24",
    "medicaid": true,
    "medicaidNumber": "string",
    "socialSecurityDisability": true,
    "veteran": true,
    "vaNumber": "string",
    "healthSherpaCustomerId": "string",
    "householdIncome": -2147483648,
    "annualIncome": -2147483648,
    "filingStatus": "string",
    "dependentCount": -2147483648,
    "subsidyAmount": -2147483648,
    "subsidyEligible": true,
    "existingCoverage": "None",
    "existingCoveragePlanName": "string",
    "existingCoverageCarrier": "string",
    "desiredCoverageStartDate": "2019-08-24",
    "currentSourceId": "92ff85a4-bd9b-47e4-9ade-cbb65530f3f4",
    "originalSourceId": "a3edc39e-7854-4380-8541-1f199004a6a0",
    "agentName": "string",
    "agentNpn": -2147483648,
    "memberId": "92983ab9-49c8-444b-85ae-6e40402cf72e",
    "carrierName": "string",
    "planName": "string",
    "planCode": "string",
    "enrollmentDate": "2019-08-24",
    "effectiveDate": "2019-08-24",
    "carrierAssignedCustomerId": "string",
    "suppressed": true,
    "doNotCall": true,
    "doNotSMS": true,
    "doNotEmail": true,
    "doNotMail": true,
    "lastContactedAt": "2019-08-24T14:15:22Z",
    "convertedAt": "2019-08-24T14:15:22Z",
    "testCustomer": true,
    "ssnLast4": "string"
  },
  "relationship": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "customerId": "87d8e330-2878-4742-a86f-dbbb3bf522ac",
    "relatedCustomerId": "7974cd26-1a75-4947-9970-8d320d03e9cf",
    "relationshipType": "spouse",
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z"
  }
}
{
  "message": "string",
  "code": "string",
  "details": {
    "property1": null,
    "property2": null
  }
}
{
  "message": "string",
  "code": "string"
}
{
  "message": "string",
  "code": "string"
}
{
  "message": "string",
  "code": "string"
}
{
  "message": "string",
  "code": "string",
  "details": {
    "property1": null,
    "property2": null
  }
}
{
  "message": "string",
  "code": "VALIDATION_ERROR",
  "errors": [
    {
      "path": [
        "string"
      ],
      "message": "string",
      "expected": "string",
      "received": "string",
      "code": "string"
    }
  ],
  "failedRecords": [
    {
      "index": 0,
      "phoneNumber": "string",
      "firstName": "string",
      "lastName": "string",
      "externalId": "string"
    }
  ]
}
{
  "message": "string",
  "code": "string",
  "retryAfter": 0
}
{
  "message": "string",
  "code": "string"
}
{
  "message": "string",
  "code": "string"
}
{
  "message": "string",
  "code": "string"
}