> ## 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.

# Update Draft Post

> Updates an X Ads draft post: its text, media, card, name, or Promoted-only flag

Updates an X Ads draft post: its text, media, card, name, or Promoted-only flag.

| | |
| - | - |
| **App** | X Ads |
| **Operation ID** | `x_ads_update_draft_post` |
| **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 that owns the draft post. |
| `draft_post_id` | string or SelectItem | Yes | - | Draft post ID to update. Find it with x\_ads\_list\_posts using tweet\_type DRAFT. |
| `text` | string | No | - | New text for the draft. |
| `media_urls` | string or array of string | No | - | Media to upload and attach, replacing the current media (list or comma-separated). Accepts direct URLs, Google Drive share links with sharing set to 'Anyone with the link', or files uploaded through Markifact. Use this OR media\_keys. |
| `media_keys` | string or array of string | No | - | Already-uploaded media keys to attach, replacing the current media. |
| `card_uri` | string | No | - | Card to attach, replacing the current one. A card already carries its own image or video, so do not also pass media\_urls or media\_keys: X accepts a post with both but then refuses to promote it. |
| `nullcast` | boolean | No | - | Whether the draft publishes as Promoted-only. |
| `name` | string | No | - | New internal name for the draft, up to 80 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 updated draft post with full details.

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


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