---
title: "Create a campaign"
method: POST
path: "/brands/{brand_id}/campaigns"
tags: ["Campaigns"]
---

# Create a campaign

`POST /brands/{brand_id}/campaigns`

## Request

- Base URL: `https://dev.slicktext.com/v1`
- URL: `https://dev.slicktext.com/v1/brands/{brand_id}/campaigns`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/slicktext/apis/slicktext-api-new-platform/docs/brands/:brand_id/campaigns/post.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `brand_id` integer, required

## Request body

- CampaignUpsertRequest
  - `name` string
  - `body` string
  - `media_url` string, uri, nullable
  - `status` string
  - `scheduled` string, nullable
  - `audience` object

## Response `200`

Campaign created successfully.

- Campaign
  - `campaign_id` integer
  - `_brand_id` integer
  - `name` string
  - `body` string, nullable
  - `media_url` string, uri, nullable
  - `status` string, nullable
  - `scheduled` string, nullable
  - `created` string, nullable
  - `last_updated` string, nullable

## Other responses

- `400`: Bad Request
- `403`: Forbidden
- `404`: Not Found
- `500`: Internal Server Error

---

[API](https://skmtc.dev/slicktext/apis/slicktext-api-new-platform.md) - [All operations](https://skmtc.dev/slicktext/apis/slicktext-api-new-platform/llms.txt) - [OpenAPI document](https://skmtc.dev/slicktext/apis/slicktext-api-new-platform/revisions/6f6c30f01b42?raw)
