---
title: "POST /v1/external/campaigns/{agent_id}"
method: POST
path: "/v1/external/campaigns/{agent_id}"
---

# POST /v1/external/campaigns/{agent_id}

`POST /v1/external/campaigns/{agent_id}`

Creates a draft outbound campaign for the specified agent. The agent must belong to your organization.

## Path parameters

- `agent_id` string, uuid, required

## Request body

- CreateCampaignRequest
  - `name` string, required — Campaign name. Maximum 120 characters.
  - `retry_config` RetryConfig — Optional retry behavior for campaign calls. Retries are attempted when a call ends with one of the statuses listed in `retry_on`.
    - `max_retries` integer — Maximum retry attempts per recipient call. Must be between 1 and 5 when retry_config is provided.
    - `retry_delay_minutes` integer — Delay in minutes before each retry attempt. Must be between 1 and 1440.
    - `retry_on` string[] — Call statuses that should trigger a retry.

## Response `201`

Campaign created successfully

- CreateCampaignResponse
  - `message` string, required
  - `data` object, required
    - `campaign_id` string, uuid, required

## Other responses

- `400` — Bad request
- `404` — Resource not found or does not belong to your organization
- `500` — Internal server error

## Changes

- **2026-05-27** `15c9445bbca8` — 2 breaking, 3 warning
  - the `retry_config/max_retries` request property's min was increased to `1.00`
  - the `retry_config/retry_on` request property's minItems was increased to `1`
  - the `name` request property's maxLength was set to `120`
  - the `retry_config/max_retries` request property's max was set to `5.00`
  - …1 more
- **2026-05-27** `888e48b1600e` — 1 breaking, 2 warning, 4 info
  - removed the required property `campaign_id` from the response with the `201` status
  - removed the request property `cps`
  - removed the request property `metadata`
  - added the new optional request property `retry_config/max_retries`
  - …3 more
- **2026-05-26** `c05ce18c8419` — 1 info
  - endpoint added
- **2026-02-03** `919eb7a392aa` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/i-stem/apis/samora-ai-api/changes/v1/external/campaigns/:agent_id/post.md)

---

[API](https://skmtc.dev/i-stem/apis/samora-ai-api.md) · [All operations](https://skmtc.dev/i-stem/apis/samora-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/i-stem/samora-ai-api/revisions/cb390cb388d1/schema)
