Get Campaign
Retrieve a single campaign by ID
Retrieve a single campaign by ID
Quick reference#
Retrieve a single campaign by ID. Send the request to GET /api/v1/campaign/{campaignid} on the Paladin API base URL.
| Method | GET |
|---|---|
| Path | /api/v1/campaign/{campaignid} |
| 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}
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}:
get:
tags:
- main
summary: Get Campaign
description: Get campaign details
operationId: get_campaign_api_v1_campaign__campaign_id__get
parameters:
- name: campaign_id
in: path
required: true
schema:
type: integer
title: Campaign Id
- 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/CampaignResponse'
'404':
description: Not found
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
CampaignResponse:
properties:
id:
type: integer
title: Id
name:
type: string
title: Name
workflow_id:
type: integer
title: Workflow Id
workflow_name:
type: string
title: Workflow Name
state:
type: string
title: State
source_type:
type: string
title: Source Type
source_id:
type: string
title: Source Id
total_rows:
anyOf:
- type: integer
- type: 'null'
title: Total Rows
processed_rows:
type: integer
title: Processed Rows
failed_rows:
type: integer
title: Failed Rows
created_at:
type: string
format: date-time
title: Created At
started_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Started At
completed_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Completed At
retry_config:
$ref: '#/components/schemas/RetryConfigResponse'
max_concurrency:
anyOf:
- type: integer
- type: 'null'
title: Max Concurrency
schedule_config:
anyOf:
- $ref: '#/components/schemas/ScheduleConfigResponse'
- type: 'null'
circuit_breaker:
anyOf:
- $ref: '#/components/schemas/CircuitBreakerConfigResponse'
- type: 'null'
executed_count:
type: integer
title: Executed Count
default: 0
total_queued_count:
type: integer
title: Total Queued Count
default: 0
parent_campaign_id:
anyOf:
- type: integer
- type: 'null'
title: Parent Campaign Id
redialed_campaign_id:
anyOf:
- type: integer
- type: 'null'
title: Redialed Campaign Id
telephony_configuration_id:
anyOf:
- type: integer
- type: 'null'
title: Telephony Configuration Id
telephony_configuration_name:
anyOf:
- type: string
- type: 'null'
title: Telephony Configuration Name
logs:
items:
$ref: '#/components/schemas/CampaignLogEntryResponse'
type: array
title: Logs
type: object
required:
- id
- name
- workflow_id
- workflow_name
- state
- source_type
- source_id
- total_rows
- processed_rows
- failed_rows
- created_at
- started_at
- completed_at
- retry_config
title: CampaignResponse
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
RetryConfigResponse:
properties:
enabled:
type: boolean
title: Enabled
max_retries:
type: integer
title: Max Retries
retry_delay_seconds:
type: integer
title: Retry Delay Seconds
retry_on_busy:
type: boolean
title: Retry On Busy
retry_on_no_answer:
type: boolean
title: Retry On No Answer
retry_on_voicemail:
type: boolean
title: Retry On Voicemail
type: object
required:
- enabled
- max_retries
- retry_delay_seconds
- retry_on_busy
- retry_on_no_answer
- retry_on_voicemail
title: RetryConfigResponse
ScheduleConfigResponse:
properties:
enabled:
type: boolean
title: Enabled
timezone:
type: string
title: Timezone
slots:
items:
$ref: '#/components/schemas/TimeSlotResponse'
type: array
title: Slots
type: object
required:
- enabled
- timezone
- slots
title: ScheduleConfigResponse
CircuitBreakerConfigResponse:
properties:
enabled:
type: boolean
title: Enabled
default: false
failure_threshold:
type: number
title: Failure Threshold
default: 0.5
window_seconds:
type: integer
title: Window Seconds
default: 120
min_calls_in_window:
type: integer
title: Min Calls In Window
default: 5
type: object
title: CircuitBreakerConfigResponse
CampaignLogEntryResponse:
properties:
ts:
type: string
title: Ts
level:
type: string
title: Level
event:
type: string
title: Event
message:
type: string
title: Message
details:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Details
type: object
required:
- ts
- level
- event
- message
title: CampaignLogEntryResponse
description: |-
A single timestamped entry from the campaign's append-only log.
Surfaced in the UI so operators can see why a campaign moved to
paused / failed without digging through server logs.
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
TimeSlotResponse:
properties:
day_of_week:
type: integer
title: Day Of Week
start_time:
type: string
title: Start Time
end_time:
type: string
title: End Time
type: object
required:
- day_of_week
- start_time
- end_time
title: TimeSlotResponse