> ## Documentation Index
> Fetch the complete documentation index at: https://docs.markifact.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Campaign

> Creates an X (Twitter) Ads campaign under a funding instrument, with budgets entered in the account currency

Creates an X (Twitter) Ads campaign under a funding instrument, with budgets entered in the account currency. Campaigns are created PAUSED by default; ad groups (line items) carry the objective, schedule, and bidding.

| | |
| - | - |
| **App** | X Ads |
| **Operation ID** | `x_ads_create_campaign` |
| **Type** | Action |
| **Connection** | `x_ads` (required) |
| **Credits per run** | 1 |
| **Agent / MCP tool** | Yes |
| **Requires approval** | Yes (write operation) |

## Inputs

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `account` | DynamicAccount | Yes | - | Select the X Ads account to create the campaign in. |
| `funding_instrument_id` | string or SelectItem | Yes | - | The funding instrument (payment source) to create the campaign under. Use x\_ads\_list\_funding\_instruments to find it. |
| `name` | string | Yes | - | Campaign name, up to 255 characters. |
| `daily_budget` | number | No | - | Daily budget in the ad account's currency (for example 50 for \$50), converted to X micro-currency automatically. Required by X for most funding instrument types, and must not exceed the total budget when both are set. |
| `total_budget` | number | No | - | Total (lifetime) budget in the ad account's currency, converted to X micro-currency automatically. No total cap is applied when omitted. |
| `entity_status` | enum (`ACTIVE`, `PAUSED`, `DRAFT`) | No | `PAUSED` | Status to create the campaign with: ACTIVE, PAUSED (default, so nothing serves until reviewed), or DRAFT. |
| `budget_optimization` | enum (`LINE_ITEM`) | No | - | Budget optimization mode. X currently supports only LINE\_ITEM (the default). |
| `purchase_order_number` | string | No | - | Purchase order number used to organize invoices, up to 50 characters. |

### SelectItem

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `value` | string | Yes | - | The value of the selectable item. |
| `label` | string | Yes | - | The label of the selectable item, used for display purposes. If not provided, defaults to the value. |

## Output

**Type**: `Dict`

Returns the created campaign with full details.

**Fields**: dynamic (depend on the inputs)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.