Skip to main content
GET
/
call-logs
/
campaign
/
{campaignId}
List call logs for a campaign
curl --request GET \
  --url https://api.dialnexa.com/v1/call-logs/campaign/{campaignId} \
  --header 'Authorization: Bearer <token>'
{
  "data": [
    {
      "id": "log_abc123",
      "call_id": "call_abc123",
      "agent_id": "agt_abc123",
      "status": "completed",
      "sentiment": "positive",
      "duration_seconds": 145,
      "recording_url": "https://recordings.dialnexa.com/call_abc123.mp3",
      "analysis": {
        "customer_satisfaction": 8
      },
      "created_at": "2024-03-01T10:00:00.000Z",
      "end_reason": "user_disconnected",
      "fallback_stt_transcriber_id": null
    }
  ],
  "meta": {
    "page": 1,
    "limit": 20,
    "total": 150,
    "totalPages": 8
  }
}
Returns every call log produced by a specific campaign, paginated. Each entry represents one call attempt against a campaign lead and includes the call id, the call status, the duration_sec, the sentiment classification, and any structured post-call analysis fields defined on the agent. Use this endpoint as the canonical source when reporting on a single campaign’s outcomes, it is filtered server-side and avoids the per-call-log filtering you would otherwise pay for with List Call Logs.

When to use this

  • Campaign reporting: calculate conversion rate, qualification rate, or any other analysis-derived metric across the campaign.
  • Follow-up identification: filter calls where the analysis indicates a human follow-up is needed.
  • Data export: paginate through every log to produce a spreadsheet or warehouse table for offline analysis.
  • Comparative analysis: pull logs from two campaigns to compare agent variants or prompt variants.
For the full transcript and recording URL of any individual call, pass the call id to Get Call Details. For lightweight call browsing without analysis fields, use List Calls instead.

Path parameters

ParameterDescription
campaignIdThe campaign ID, for example cmp_5tw8vz2rnx1q.

Query parameters

ParameterDescription
pagePage number, starting from 1.
limitResults per page (max 100, default 20).
statusFilter by call status (completed, failed, no-answer, busy).

Errors

  • 404 Not Found is returned when the campaign does not exist.

Request

curl "https://api.dialnexa.com/v1/call-logs/campaign/cmp_5tw8vz2rnx1q" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

{
  "data": [
    {
      "id": "call_x9y3zp4mq7r1",
      "status": "completed",
      "duration_sec": 142,
      "sentiment": "positive",
      "analysis": { "qualified": true },
      "created_at": "2024-05-01T14:22:00.000Z"
    },
    {
      "id": "call_a2b4cd6ef8gh",
      "status": "no-answer",
      "duration_sec": 0,
      "sentiment": "neutral",
      "analysis": {},
      "created_at": "2024-05-01T14:18:00.000Z"
    }
  ],
  "meta": { "page": 1, "limit": 20, "total": 312 }
}

Authorizations

Authorization
string
header
required

Pass your API key as a Bearer token in the Authorization header.

Path Parameters

campaignId
string
required

Query Parameters

page
integer
default:1
limit
integer
default:20

Response

200 - application/json

Success.

data
object[]
meta
object