Get Campaign Runs
Retrieve individual call records for each contact in a campaign
Retrieve individual run records for each contact in a campaign
Returns the individual run records for each contact in the campaign. Each record includes the same fields as agent run details, including run status, duration, transcript, and recording URL.
Quick reference#
Retrieve individual call records for each contact in a campaign. Send the request to GET /api/v1/campaign/{campaignid}/runs on the Paladin API base URL.
| Method | GET |
|---|---|
| Path | /api/v1/campaign/{campaignid}/runs |
| Path parameters | campaignid |
| Authentication | Use the authentication method shown in the OpenAPI block and the Authentication docs. Keep API keys server-side. |
Before you call#
- Confirm you are using the production base URL shown in the API reference.
- Make sure any path IDs belong to the same Paladin organization as the credential you are using.
- Validate request bodies and required fields before sending production traffic.
Common error checks#
- Use 401 or 403 responses to check credentials, organization scope, and permissions.
- Use 404 responses to check whether the referenced resource exists in the current organization.
- Use 422 responses to inspect missing or invalid request fields.
OpenAPI#
GET /api/v1/campaign/{campaignid}/runs
openapi: 3.1.0
info:
title: Paladin API
description: API for the Paladin app
version: 1.0.0
servers:
- url: https://app.paladin.northmanngrp.com
description: Production
security: []
paths:
/api/v1/campaign/{campaign_id}/runs:
get:
tags:
- main
summary: Get Campaign Runs
description: Get campaign workflow runs with pagination, filters and sorting
operationId: get_campaign_runs_api_v1_campaign__campaign_id__runs_get
parameters:
- name: campaign_id
in: path
required: true
schema:
type: integer
title: Campaign Id
- name: page
in: query
required: false
schema:
type: integer
default: 1
title: Page
- name: limit
in: query
required: false
schema:
type: integer
default: 50
title: Limit
- name: filters
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: JSON-encoded filter criteria
title: Filters
description: JSON-encoded filter criteria
- name: sort_by
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Field to sort by (e.g., 'duration', 'created_at')
title: Sort By
description: Field to sort by (e.g., 'duration', 'created_at')
- name: sort_order
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Sort order ('asc' or 'desc')
default: desc
title: Sort Order
description: Sort order ('asc' or 'desc')
- name: authorization
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Authorization
- name: X-API-Key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/CampaignRunsResponse'
'404':
description: Not found
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
CampaignRunsResponse:
properties:
runs:
items:
additionalProperties: true
type: object
type: array
title: Runs
total_count:
type: integer
title: Total Count
page:
type: integer
title: Page
limit:
type: integer
title: Limit
total_pages:
type: integer
title: Total Pages
type: object
required:
- runs
- total_count
- page
- limit
- total_pages
title: CampaignRunsResponse
description: Paginated response for campaign workflow runs
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError