careCycle
Campaign Enrollment

Change customer campaign status

Mark customers in a campaign as completed, failed, or cancelled. Requires campaign_enrollment.manage. Provide customer or customers (up to 1,000), identified by customerId or US phoneNumber. Returns HTTP 202 with a server-generated job ID for both individuals and lists. Invalid customer entries fail individually with invalid_customer_reference and validationErrors; valid entries continue. Invalid request structure still returns 422. Poll statusUrl for per-input results. An optional idempotencyKey protects retries of the same payload; without one, each submission creates a new request. Customers must already exist in your organization. See Campaign API guide for restrictions and retries. This stops future campaign outreach, but does not hang up a call in progress or cancel appointments. Customers who are not in the campaign are skipped.

POST
/v2/campaigns/{campaignId}/enrollment/status

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

POST /v2/campaigns/:campaignId/enrollment/status Parameter

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/campaigns/:campaignId/enrollment/status Request body

TypeScript Definitions

Use the request body type in TypeScript.

string
Value in"completed" | "failed" | "cancelled"
string

Optional retry key. Reuse with the identical payload after a timeout. Without a key, each submission creates a new request.

Match^[A-Za-z0-9._:-]+$Length1 <= length <= 128
object | object | string | number | boolean | null | array<string | number | boolean | null | recursive | object> | object
string
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
array<object | object | string | number | boolean | null | array<string | number | boolean | null | recursive | object> | object>
Items1 <= items <= 1000
string
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
Lengthlength <= 255

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/campaigns/497f6eca-6276-4993-bfeb-53cbbbba6f08/enrollment/status" \  -H "Content-Type: application/json" \  -d '{    "status": "completed"  }'
{
  "jobId": "9d222c6d-893e-4e79-8201-3c9ca16a0f39",
  "statusUrl": "string",
  "total": -9007199254740991,
  "resolvedCount": -9007199254740991
}
{
  "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"
}