---
title: "Create Campaign"
method: POST
path: "/api/admin/campaigns"
tags: ["admin-campaigns"]
---

# Create Campaign

`POST /api/admin/campaigns`

## Request body

- CreateCampaignRequest
  - `workspace_id` string, required
  - `name` string, required
  - `type` 'OUTBOUND' | 'INBOUND' | 'ONE_WAY'
  - `industry` string, nullable
  - `phone_number` string, nullable
  - `prompt` string, nullable
  - `use_case_goals` string, nullable
  - `conclusion` string, nullable
  - `max_attempts` integer, nullable
  - `escalation_window_days` integer, nullable
  - `calls_per_week` integer, nullable
  - `escalation_enabled` boolean
  - `enable_manager_transfer` boolean
  - `schedule_enabled` boolean
  - `start_time` string
  - `end_time` string
  - `scheduled_call_retry_delay_hours` integer
  - `scheduled_call_max_retry_attempts` integer
  - `concurrency` integer
  - `integrations` string[]
  - `task_types` string[]
  - `escalation_campaign_id` string, nullable

## Response `201`

Successful Response

- CampaignDetail
  - `id` string, required
  - `name` string, required
  - `workspace_id` string, required
  - `workspace_name` string, required
  - `type` 'OUTBOUND' | 'INBOUND' | 'ONE_WAY', required
  - `status` 'active' | 'paused' | 'draft' | 'archived', required
  - `industry` string, nullable
  - `phone_number` string, nullable
  - `description` string, nullable
  - `prompt` string, nullable
  - `use_case_goals` string, nullable
  - `conclusion` string, nullable
  - `max_attempts` integer, nullable
  - `escalation_window_days` integer, nullable
  - `escalation_campaign_id` string, nullable
  - `calls_per_week` integer, nullable
  - `concurrency` integer
  - `escalation_enabled` boolean
  - `enable_manager_transfer` boolean
  - `schedule_enabled` boolean
  - `start_time` string
  - `end_time` string
  - `scheduled_call_retry_delay_hours` integer
  - `scheduled_call_max_retry_attempts` integer
  - `integrations` string[]
  - `task_types` string[]
  - `leads_count` integer
  - `active_calls` integer
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `422` — Validation Error

## Changes

- **2026-07-26** `e7248cb2f50b` — 2 warning, 2 info
  - removed the request property `task_objectives`
  - removed the optional property `task_objectives` from the response with the `201` status
  - added the new optional request property `use_case_goals`
  - added the optional property `use_case_goals` to the response with the `201` status

[Change history](https://skmtc.dev/outcallerai/apis/fastapi/changes/api/admin/campaigns/post.md)

---

[API](https://skmtc.dev/outcallerai/apis/fastapi.md) · [All operations](https://skmtc.dev/outcallerai/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/outcallerai/fastapi/revisions/e7248cb2f50b/schema)
