---
title: "Create a campaign"
method: POST
path: "/v1/workspaces/{workspaceId}/campaigns"
tags: ["Campaigns"]
---

# Create a campaign

`POST /v1/workspaces/{workspaceId}/campaigns`

## Request

- Base URL: `https://api.maevesocial.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.maevesocial.com/v1/workspaces/{workspaceId}/campaigns`
- Auth: HTTP bearer

## Path parameters

- `workspaceId` string, uuid, required

## Request body

- CreateCampaignDto
  - `color` string, nullable
  - `goal` string, nullable
  - `description` string, nullable
  - `targetPlatforms` string[]
  - `estimatedBudget` string, nullable
  - `actualBudget` string, nullable
  - `budgetCurrency` string, nullable
  - `name` string, required
  - `startDate` string, date-time, required
  - `endDate` string, date-time, required

## Response `201`

Campaign created

- object
  - `data` PublicCampaignDto, required
    - `id` string, uuid, required
    - `workspaceId` string, uuid, required
    - `name` string, required
    - `color` string, nullable, required
    - `goal` string, nullable, required
    - `description` string, nullable, required
    - `startDate` string, date, required
    - `endDate` string, date, required
    - `status` 'upcoming' | 'live' | 'ended', required
    - `targetPlatforms` string[], required
    - `estimatedBudget` string, nullable: Estimated budget in major currency units as a decimal string, such as "4050.50".
    - `actualBudget` string, nullable: Actual budget in major currency units as a decimal string, such as "4050.50".
    - `budgetCurrency` string, nullable: ISO 4217 currency code required when a budget is set.
    - `createdByUserId` string, uuid, nullable
    - `updatedByUserId` string, uuid, nullable
    - `createdAt` string, required
    - `updatedAt` string, required
    - `phases` PublicCampaignPhaseDto[]
      - `id` string, uuid, required
      - `workspaceId` string, uuid, required
      - `campaignId` string, uuid, required
      - `name` string, required
      - `color` string, nullable, required
      - `startDate` string, date, nullable, required
      - `endDate` string, date, nullable, required
      - `sortOrder` number, required
      - `createdAt` string, required
      - `updatedAt` string, required
  - `meta` unknown, required

---

[API](https://skmtc.dev/maevesocial/apis/maeve-social-api.md) · [All operations](https://skmtc.dev/maevesocial/apis/maeve-social-api/llms.txt) · [OpenAPI document](https://skmtc.dev/maevesocial/apis/maeve-social-api/revisions/1b00fd7e4b15?raw)
