careCycle
Phone Suppression

Suppress phone numbers

Send a body containing only records. The server generates the operation identity and returns a jobId. No client-generated key is required. An optional Idempotency-Key header (1 to 200 characters) lets you reuse the same operation when retrying with the same records, including after a lost response. Reusing a supplied key with different records returns 409. Without the header, each submission creates a new operation. Poll GET /v2/phone-suppressions/suppress/{jobId} with the same caller credentials to obtain progress and the final outcome; it requires phone_suppression.manage with the standard View prerequisite.

Submit one or more phone numbers in the records array, up to 1,000 per request. Each record contains phoneNumber and an optional reason. Formatting is normalized automatically; blank or unrecognized reasons become other. Duplicate numbers use the first record. Requires phone_suppression.manage. The response acknowledges records accepted for processing.

Single record:

{
  "records": [
    {
      "phoneNumber": "2125550123",
      "reason": "customer_request"
    }
  ]
}

Multiple records:

{
  "records": [
    {
      "phoneNumber": "2125550123",
      "reason": "customer_request"
    },
    {
      "phoneNumber": "+1 (212) 555-0124",
      "reason": "other"
    }
  ]
}
POST
/v2/phone-suppressions/suppress

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

Header Parameters

string

Optional retry key. Omit it to let the server create a new operation. When supplied, reuse it with the same records for retries; use a new key for a new operation.

Length1 <= length <= 200

Request Body

application/json

POST /v2/phone-suppressions/suppress Request body

TypeScript Definitions

Use the request body type in TypeScript.

array<object>

One or more phone numbers to suppress, up to 1,000 records.

Items1 <= items <= 1000
string

Phone number to suppress. Formatting is normalized automatically.

Length7 <= length <= 40
string

Optional reason code. Blank or unrecognized reasons use other.

Default"other"Value in"abusive_behavior" | "customer_request" | "deceased" | "duplicate_recently_handled" | "failed_verification" | "not_interested" | "other" | "out_of_network" | "repeated_shopping" | "suspected_fraud_spam" | "wrong_person_invalid_number"

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/phone-suppressions/suppress" \  -H "Content-Type: application/json" \  -d '{    "records": [      {        "phoneNumber": "strings"      }    ]  }'
{
  "jobId": "string",
  "status": "accepted",
  "acceptedCount": -9007199254740991
}
{
  "message": "string",
  "code": "string"
}
{
  "message": "string",
  "code": "string"
}
{
  "message": "string",
  "code": "string"
}
{
  "message": "string",
  "code": "string"
}
{
  "message": "string",
  "code": "string"
}
{
  "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"
}