---
title: "Create Campaign Endpoint"
method: POST
path: "/api/v1/remy/campaigns"
tags: ["remy"]
---

# Create Campaign Endpoint

`POST /api/v1/remy/campaigns`

## Request

- Base URL: `https://api.brandbooster.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.brandbooster.ai/api/v1/remy/campaigns`
- Auth: HTTP bearer

Create a campaign for this user — always user-scoped; global campaigns aren't creatable through this endpoint yet.

## Request body

- CreateCampaignRequestDTO
  - `name` string, required
  - `brand_name` string, nullable
  - `product_name` string, nullable
  - `collab_type` 'Paid Reel' | 'Paid Story' | 'Paid Post' | 'Barter' | 'Affiliate'
  - `brief` string, nullable
  - `user_instruction` string, nullable
  - `knowledge_base` string, nullable
  - `budget_min` number, nullable
  - `budget_max` number, nullable
  - `currency` 'INR' | 'USD' | 'GBP' | 'EUR'
  - `total_budget` number, nullable

## Response `200`

Successful Response

- CampaignDTOOutput
  - `id` string, required
  - `scope` string, required
  - `user_id` string, nullable
  - `name` string, required
  - `brand_name` string, nullable
  - `product_name` string, nullable
  - `collab_type` string, nullable
  - `brief` string, nullable
  - `user_instruction` string, nullable
  - `knowledge_base` string, nullable
  - `budget_min` number, nullable
  - `budget_max` number, nullable
  - `currency` string, nullable
  - `total_budget` number
  - `total_spent` number
  - `status` string, required
  - `autopilot_enabled` boolean
  - `created_at` string, date-time, nullable
  - `updated_at` string, date-time, nullable

## Other responses

- `422`: Validation Error

## Changes

> 36 revisions in range; 1 not diffed.

- **2026-11-02** `f84fc05f417b`: 4 info
  - the request property `budget_max` became optional
  - the request property `budget_min` became optional
  - request property `budget_max` list-of-types was widened by adding types `null` to media type `application/json`
  - request property `budget_min` list-of-types was widened by adding types `null` to media type `application/json`
- **2026-10-13** `c7202552278d`: 1 info
  - added the optional property `autopilot_enabled` to the response with the `200` status
- **2026-10-01** `fff247daebe7`: 2 info
  - added the new optional request property `knowledge_base`
  - added the optional property `knowledge_base` to the response with the `200` status

[Operation history](https://skmtc.dev/brandbooster/apis/brandbooster-api/changes/api/v1/remy/campaigns/post.md)

---

[API](https://skmtc.dev/brandbooster/apis/brandbooster-api.md) - [All operations](https://skmtc.dev/brandbooster/apis/brandbooster-api/llms.txt) - [OpenAPI document](https://skmtc.dev/brandbooster/apis/brandbooster-api/revisions/f84fc05f417b?raw)
