---
title: "Get campaign action results"
method: GET
path: "/v2/campaigns/{campaignId}/enrollment/requests/{jobId}"
tags: ["Campaign Enrollment"]
---

# Get campaign action results

`GET /v2/campaigns/{campaignId}/enrollment/requests/{jobId}`

## Request

- Base URL: `https://api.carecycle.ai`
- URL: `https://api.carecycle.ai/v2/campaigns/{campaignId}/enrollment/requests/{jobId}`
- Auth: API key in header `x-api-key`

Check the results of a campaign request you sent earlier. Requires campaign_enrollment.manage. Returns durable, organization- and campaign-scoped results in input order. duplicateOf references the first input that resolved to the same customer; its action runs only once. Counts include duplicate input positions. Poll every 2-5 seconds until completed, partial, or failed. An execution_uncertain result must be reviewed before issuing a new request.

## Path parameters

- `campaignId` string, uuid, required
- `jobId` string, uuid, required

## Response `200`

GET /v2/campaigns/:campaignId/enrollment/requests/:jobId Positive response

- GetV2CampaignsCampaignIdEnrollmentRequestsJobIdPositiveResponse
  - `jobId` string, uuid, required
  - `campaignId` string, uuid, required
  - `action` 'enroll' | 'restart' | 'set_status', required
  - `status` 'queued' | 'running' | 'completed' | 'partial' | 'failed', required
  - `total` integer, required
  - `processed` integer, required
  - `succeeded` integer, required
  - `skipped` integer, required
  - `failed` integer, required
  - `completedAt` string, nullable, required
  - `items` object[], required
    - `index` integer, required
    - `customerId` string, uuid, nullable, required
    - `duplicateOf` integer, nullable, required
    - `validationErrors` object[]
      - `field` 'customerId' | 'phoneNumber' | 'reference', required
      - `message` string, required
    - `outcome` 'pending' | 'succeeded' | 'skipped' | 'failed', required
    - `code` 'enrolled' | 'restarted' | 'status_changed' | 'already_active' | 'terminal_exists' | 'blocked_active_retention' | 'not_enrolled' | 'customer_not_found' | 'invalid_customer_reference' | 'missing_required_fields' | 'campaign_unavailable' | 'no_pulse_workflow' | 'execution_uncertain' | 'not_processed', nullable, required
    - `customerCampaignId` string, uuid, nullable, required

## Other responses

- `400`: GET /v2/campaigns/:campaignId/enrollment/requests/:jobId Negative response 400
- `401`: GET /v2/campaigns/:campaignId/enrollment/requests/:jobId Negative response 401
- `403`: GET /v2/campaigns/:campaignId/enrollment/requests/:jobId Negative response 403
- `404`: GET /v2/campaigns/:campaignId/enrollment/requests/:jobId Negative response 404
- `409`: GET /v2/campaigns/:campaignId/enrollment/requests/:jobId Negative response 409
- `422`: GET /v2/campaigns/:campaignId/enrollment/requests/:jobId Negative response 422
- `429`: GET /v2/campaigns/:campaignId/enrollment/requests/:jobId Negative response 429
- `500`: GET /v2/campaigns/:campaignId/enrollment/requests/:jobId Negative response 500
- `502`: GET /v2/campaigns/:campaignId/enrollment/requests/:jobId Negative response 502
- `503`: GET /v2/campaigns/:campaignId/enrollment/requests/:jobId Negative response 503

---

[API](https://skmtc.dev/carecycle/apis/carecycle-public-api.md) - [All operations](https://skmtc.dev/carecycle/apis/carecycle-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/carecycle/apis/carecycle-public-api/revisions/db390c743c36?raw)
