# CreateCampaignInput

Input object

Input for the createCampaign mutation.

## Fields

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `campaignType` | [`CampaignType!`](/api/v2/docs/types/campaign-type) | Yes | — | What kind of campaign to create. It decides which dates are required and which settings member applies. |
| `dateEnd` | [`DateTime`](/api/v2/docs/types/date-time) | No | — | End of the campaign's window (UTC), not before dateStart. Required for CREATOR_MONITORING. Uses the supplied instant at whole-second precision; choose your timezone and day boundaries, then convert to UTC before sending it. |
| `dateStart` | [`DateTime`](/api/v2/docs/types/date-time) | No | — | Start of the campaign's window (UTC). Required for CREATOR_MONITORING: creators added later have their posts pulled back to it. Uses the supplied instant at whole-second precision; choose your timezone and day boundaries, then convert to UTC before sending it. |
| `externalId` | `String!` | Yes | — | The caller's key for this campaign, at most 255 characters (surrounding whitespace is trimmed). A workspace holds one campaign per key: sending a key again returns the campaign it first created, as stored (nothing is changed), so a retried request never creates a second campaign. |
| `name` | `String!` | Yes | — | Campaign name as shown in Archive. Stored with surrounding whitespace and invisible characters removed and NFC-normalized; that stored form must be unique among the workspace's campaigns of this campaignType (compared exactly, so names differing only in case are distinct). Blank, longer than 255 characters, or holding control or bidirectional text characters is a userError on input.name. Not checked on an externalId replay. |
| `settings` | [`CampaignSettingsInput`](/api/v2/docs/types/campaign-settings-input) | No | — | Type-specific options; omit to use the type defaults. |
