---
title: "Get source performance metrics for a campaign"
method: GET
path: "/v2/sources/performance"
tags: ["Sources"]
---

# Get source performance metrics for a campaign

`GET /v2/sources/performance`

## Request

- Base URL: `https://api.carecycle.ai`
- URL: `https://api.carecycle.ai/v2/sources/performance`
- Auth: API key in header `x-api-key`

See how well each lead source is doing in a campaign.

## Query parameters

- `campaignId` string, uuid
- `startDate` string, date-time
- `endDate` string, date-time

## Response `200`

GET /v2/sources/performance Positive response

- GetV2SourcesPerformancePositiveResponse
  - `sources` object[], required
    - `sourceId` string, required
    - `campaignSourceId` string, nullable
    - `name` string, nullable, required
    - `pings_total` number: Vendor availability pings received for this source
    - `pings_available` number: Pings answered available (yes, send the caller)
    - `pings_dialed` number: Available pings where the caller actually arrived (dialed)
    - `pings_billable` number: Dialed pings whose matched call produced a billable event
    - `pings_converted` number: Dialed pings whose caller later converted (policy created or conversion recorded). Cohort attribution: the conversion counts toward the ping that produced the caller regardless of when it occurred.
    - `ping_to_call_rate` number: pings_dialed / pings_available, percent
    - `ping_billable_rate` number: pings_billable / pings_dialed, percent
    - `ping_conversion_rate` number: pings_converted / pings_dialed, percent
    - `leads_dialed` number
    - `contact_rate` number
    - `transfer_rate` number
    - `appointments_booked` number
    - `appointment_rate` number
    - `close_rate` number
    - `external_transfers` number
    - `pending_outcomes` number
    - `pending_outcome_rate` number
    - `total_usage_cost` number
    - `total_cost` number
    - `cost_per_transfer` number
    - `total_calls` number
    - `billable_calls` number
    - `billable_percentage` number
    - `spend` number
    - `new_transfers` number
    - `new_calls` number
    - `new_transfer_percentage` number
    - `appointment_transfers` number
    - `appointment_calls` number
    - `appointment_transfer_percentage` number
    - `total_transfers` number
    - `total_transfer_percentage` number
    - `billable_transfers` number
    - `billable_transfer_rate` number
    - `converted_calls` number
    - `transfer_conversion_rate` number
    - `cost_per_acquisition` number
    - `average_cpa` number
  - `agentBreakdown` object[], required
    - `sourceId` string, required
    - `campaignSourceId` string, required
    - `sourceName` string, nullable, required
    - `agentId` string, required
    - `agentName` string, nullable, required
    - `total_calls` number, required
    - `transfers` number, required
    - `transfer_rate` number, required
    - `external_transfers` number, required
    - `appointments_booked` number, required
    - `appointment_rate` number, required
    - `converted_calls` number, required
    - `close_rate` number, required
    - `pending_outcomes` number, required
    - `pending_outcome_rate` number, required
    - `billable_calls` number, required
    - `spend` number, required
    - `total_usage_cost` number, required
    - `total_cost` number, required
    - `cost_per_transfer` number, required
    - `cost_per_acquisition` number, required
    - `average_cpa` number, required
  - `dispositionBreakdown` object[], required
    - `sourceId` string, required
    - `campaignSourceId` string, required
    - `sourceName` string, nullable, required
    - `disposition` string, required
    - `count` number, required
    - `percentage` number, required
  - `stateBreakdown` object[], required
    - `sourceId` string
    - `campaignSourceId` string
    - `sourceName` string, nullable
    - `state` string, required
    - `leads_dialed` number, required
    - `contact_rate` number, required
    - `transfer_rate` number, required
    - `appointments_booked` number
    - `converted_calls` number
    - `pending_outcomes` number

## Other responses

- `400`: GET /v2/sources/performance Negative response 400
- `401`: GET /v2/sources/performance Negative response 401
- `403`: GET /v2/sources/performance Negative response 403
- `404`: GET /v2/sources/performance Negative response 404
- `409`: GET /v2/sources/performance Negative response 409
- `422`: GET /v2/sources/performance Negative response 422
- `429`: GET /v2/sources/performance Negative response 429
- `500`: GET /v2/sources/performance Negative response 500
- `502`: GET /v2/sources/performance Negative response 502
- `503`: GET /v2/sources/performance 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)
