# CreateCampaign

> Create a campaign; body needs name, campaign_type_id and start_date. Invalid input returns… Write access, campaigns toolset, MCP tool create_campaign.

Create a campaign; body needs name, campaign_type_id and start_date. Invalid input returns userErrors.

**Access:** [Write](https://developer.missin.co.uk/get-started/authentication.md#access-levels)

## Variables

| Variable | Type | Required | Accepts | Description |
|---|---|---|---|---|
| `body` | `JSON!` | yes | Object, fields below |  |

## Input types

### `body`

| Field | Type | Required | Accepts | Description |
|---|---|---|---|---|
| `campaign_type_id` | string (uuid) | yes |  |  |
| `name` | string | yes | 1 to 120 characters |  |
| `start_date` | any | yes |  |  |
| `end_date` | any or null | no |  |  |
| `status` | string | no | One of `ACTIVE`, `DRAFT`, `ARCHIVED`, `PAUSED`, `ENDED`, `COMPLETED` |  |
| `allocated_budget` | number or null | no | 0 to 1000000000 |  |
| `utm_campaign` | string or null | no | at most 120 characters |  |
| `utm_term` | string or null | no | at most 120 characters |  |
| `icon` | string or null | no | One of `megaphone`, `sparkles`, `rocket`, `flag`, `star`, `heart`, `bell`, `party-popper`, `gift`, `tag`, `ticket`, `percent`, `badge-percent`, `shopping-bag`, `shopping-cart`, `package`, `truck`, `store`, `sun`, `snowflake`, `leaf`, `flower`, `sprout`, `umbrella`, `moon`, `tree-pine`, `egg`, `ghost`, `cake`, `trophy`, `crown`, `gem`, `award`, `medal`, `calendar`, `calendar-heart`, `camera`, `video`, `clapperboard`, `music`, `mic`, `palette`, `shirt`, `watch`, `globe`, `map-pin`, `plane`, `users`, `handshake`, `target`, `trending-up`, `zap`, `flame`, `coffee`, `dumbbell`, `gamepad-2` |  |
| `icon_color` | string or null | no | One of `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`, `pink`, `red` |  |

## Call it

```bash curl
curl https://api.missin.co.uk/graphql/v1 \
  -H "Authorization: Bearer $MISSIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"operationName":"CreateCampaign","variables":{"body":{"campaign_type_id":"00000000-0000-0000-0000-000000000000","name":"Example","start_date":"2026-01-01"}},"extensions":{"persistedQuery":{"version":1,"sha256Hash":"1aa0bf5d1b9afe827b94b0cbe6718bd1ad962938a2a34ca9df6fa57732fbca83"}}}'
```

## Document

```graphql
mutation CreateCampaign($body: JSON!) { __typename createCampaign(input: {body: $body}) { __typename campaign { __typename campaignSlug id name rowId status } campaignId campaignSlug userErrors { __typename code field message } } }
```

Source: https://developer.missin.co.uk/reference/campaigns/create-campaign
