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

> Low-level LinkedIn post update

Low-level LinkedIn post update. Forwards a raw Posts API partial-update body as-is. This is how an ad's editable content is changed: resolve the ad's post URN via linkedin\_ads\_get\_ad, then patch commentary (intro text), contentLandingPage (destination URL), contentCallToActionLabel, or adContext.dscName/dscStatus. Headline and attached media are never editable (LinkedIn limitation; create a new ad instead). Requires the connected user to have an admin or DSC-poster role on the authoring Company Page.

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

## Inputs

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `post` | string or SelectItem | Yes | - | The post to update, as a full URN (urn:li:ugcPost:123 or urn:li:share:123). An ad's content lives on its referenced post: get the URN from linkedin\_ads\_get\_ad (creative.content.reference). |
| `update_payload` | object or string | Yes | - | Raw LinkedIn post partial-update body, sent to LinkedIn as-is. Use LinkedIn's documented shape: \{"patch": \{"$set": \{...}}}. LinkedIn only allows updating: commentary (intro text), contentLandingPage (destination URL), contentCallToActionLabel, lifecycleState, and the sponsored name/status via a nested patch: \{"patch": \{"adContext": \{"$set": \{"dscName": "..."}}}}. Headline and attached media cannot be updated (LinkedIn limitation; create a new ad instead). Accepts a JSON object or JSON string. |
| `dry_run` | boolean | No | `False` | When true, return the resolved update body without calling LinkedIn. |

### 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 post URN, the forwarded payload, and LinkedIn's response (successful post updates return no body, HTTP 204).

**Fields**: `post`, `payload`, `dry_run`, `response`


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