# Update TikTok ads

Update classic TikTok ads (video, image, carousel or authorized Spark content). Works on your own TikTok Ads account, connected through Get MCP Ads. The preview is free; the change costs $0.05 when you confirm it. Needs advertiser id and configuration.

Update classic TikTok ads (video, image, carousel or authorized Spark content). Status is unchanged. Native objective/format eligibility is enforced by TikTok. Local preview by default. No automatic retry; advertiser ownership is checked before applying. Agentik price: free to preview; $0.05 when the change is applied (confirm: true without validateOnly).

- Tool ID: `tiktok-ads/update-ads`
- Name in the catalog: TikTok: Update ads
- Provider: [TikTok Ads](/providers/tiktok-ads.md)
- Capability: [TikTok Ads campaign management](/tools/tiktok-ads/campaign-management.md)
- Price: free preview, $0.05 per applied change
- Workspace access is automatic. Connect a platform using the link and notice returned to your AI assistant; an owner or admin completes platform consent and returns to the conversation; see the [guide](/docs/getmcpads.md).
- Authentication: an authorised Agentik workspace is required for execution, including zero-price tools.

## Pricing contract

The provider’s price, with no markup. Billed for measured usage.


```json
{
  "model": "per_call",
  "amountUsd": 0,
  "multipliers": [
    {
      "all": [
        {
          "field": "confirm",
          "equals": true
        },
        {
          "field": "validateOnly",
          "truthy": false
        }
      ],
      "setUsd": 0.05
    }
  ]
}
```

## Complete input schema


```json
{
  "type": "object",
  "properties": {
    "advertiserId": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Exact TikTok numeric ID as a string, never a rounded JavaScript number."
    },
    "configuration": {
      "type": "object",
      "properties": {
        "adgroup_id": {
          "type": "string",
          "description": "Existing ad group ID in this advertiser."
        },
        "creatives": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "ad_format": {
                "type": "string",
                "description": "Native TikTok ad format. Check the current entity and applicable objective before supplying it."
              },
              "ad_id": {
                "type": "string",
                "description": "Existing ad ID in this advertiser and ad group."
              },
              "ad_name": {
                "type": "string",
                "description": "Exact ad business name, independent of the uploaded filename."
              },
              "ad_text": {
                "type": "string",
                "description": "Native TikTok ad text. Check the current entity and applicable objective before supplying it."
              },
              "ad_texts": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "maxItems": 100,
                "description": "Native TikTok ad texts. Check the current entity and applicable objective before supplying it."
              },
              "aigc_disclosure_type": {
                "type": "string",
                "description": "Native TikTok aigc disclosure type. Check the current entity and applicable objective before supplying it."
              },
              "app_name": {
                "type": "string",
                "description": "Native TikTok app name. Check the current entity and applicable objective before supplying it."
              },
              "avatar_icon_web_uri": {
                "type": "string",
                "description": "Native TikTok avatar icon web uri. Check the current entity and applicable objective before supplying it."
              },
              "brand_safety_postbid_partner": {
                "type": "string",
                "description": "Native TikTok brand safety postbid partner. Check the current entity and applicable objective before supplying it."
              },
              "brand_safety_vast_url": {
                "type": "string",
                "description": "Native TikTok brand safety vast url. Check the current entity and applicable objective before supplying it."
              },
              "call_to_action": {
                "type": "string",
                "description": "Native TikTok call to action. Check the current entity and applicable objective before supplying it."
              },
              "call_to_action_id": {
                "type": "string",
                "description": "Native TikTok call to action id. Check the current entity and applicable objective before supplying it."
              },
              "card_id": {
                "type": "string",
                "description": "Native TikTok card id. Check the current entity and applicable objective before supplying it."
              },
              "carousel_image_index": {
                "type": "number",
                "description": "Native TikTok carousel image index. Check the current entity and applicable objective before supplying it."
              },
              "click_tracking_url": {
                "type": "string",
                "description": "Native TikTok click tracking url. Check the current entity and applicable objective before supplying it."
              },
              "cpp_url": {
                "type": "string",
                "description": "Native TikTok cpp url. Check the current entity and applicable objective before supplying it."
              },
              "creative_authorized": {
                "type": "boolean",
                "description": "Native TikTok creative authorized. Check the current entity and applicable objective before supplying it."
              },
              "creative_type": {
                "type": "string",
                "description": "Native TikTok creative type. Check the current entity and applicable objective before supplying it."
              },
              "dark_post_status": {
                "type": "string",
                "description": "Native TikTok dark post status. Check the current entity and applicable objective before supplying it."
              },
              "deeplink": {
                "type": "string",
                "description": "Native TikTok deeplink. Check the current entity and applicable objective before supplying it."
              },
              "deeplink_type": {
                "type": "string",
                "description": "Native TikTok deeplink type. Check the current entity and applicable objective before supplying it."
              },
              "deeplink_utm_params": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string",
                      "description": "Native TikTok key. Check the current entity and applicable objective before supplying it."
                    },
                    "value": {
                      "type": "string",
                      "description": "Native TikTok value. Check the current entity and applicable objective before supplying it."
                    }
                  },
                  "additionalProperties": false
                },
                "maxItems": 100,
                "description": "Native TikTok deeplink utm params. Check the current entity and applicable objective before supplying it."
              },
              "disclaimer_clickable_texts": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "text": {
                      "type": "string",
                      "description": "Native TikTok text. Check the current entity and applicable objective before supplying it."
                    },
                    "url": {
                      "type": "string",
                      "description": "Native TikTok url. Check the current entity and applicable objective before supplying it."
                    }
                  },
                  "additionalProperties": false
                },
                "maxItems": 100,
                "description": "Native TikTok disclaimer clickable texts. Check the current entity and applicable objective before supplying it."
              },
              "disclaimer_text": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "Native TikTok text. Check the current entity and applicable objective before supplying it."
                  }
                },
                "additionalProperties": false,
                "description": "Native TikTok disclaimer text. Check the current entity and applicable objective before supplying it."
              },
              "disclaimer_type": {
                "type": "string",
                "description": "Native TikTok disclaimer type. Check the current entity and applicable objective before supplying it."
              },
              "display_name": {
                "type": "string",
                "description": "Native TikTok display name. Check the current entity and applicable objective before supplying it."
              },
              "dynamic_destination": {
                "type": "string",
                "description": "Native TikTok dynamic destination. Check the current entity and applicable objective before supplying it."
              },
              "dynamic_format": {
                "type": "string",
                "description": "Native TikTok dynamic format. Check the current entity and applicable objective before supplying it."
              },
              "end_card_cta": {
                "type": "string",
                "description": "Native TikTok end card cta. Check the current entity and applicable objective before supplying it."
              },
              "fallback_type": {
                "type": "string",
                "description": "Native TikTok fallback type. Check the current entity and applicable objective before supplying it."
              },
              "identity_authorized_bc_id": {
                "type": "string",
                "description": "Native TikTok identity authorized bc id. Check the current entity and applicable objective before supplying it."
              },
              "identity_id": {
                "type": "string",
                "description": "Authorized identity ID accessible to this advertiser."
              },
              "identity_type": {
                "type": "string",
                "description": "TikTok identity type. Spark Ads require an authorized TikTok identity/post; CUSTOM eligibility varies."
              },
              "image_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "maxItems": 100,
                "description": "Uploaded TikTok image IDs, not URLs."
              },
              "impression_tracking_url": {
                "type": "string",
                "description": "Native TikTok impression tracking url. Check the current entity and applicable objective before supplying it."
              },
              "instant_product_page_used": {
                "type": "boolean",
                "description": "Native TikTok instant product page used. Check the current entity and applicable objective before supplying it."
              },
              "item_duet_status": {
                "type": "string",
                "description": "Native TikTok item duet status. Check the current entity and applicable objective before supplying it."
              },
              "item_group_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "maxItems": 100,
                "description": "Native TikTok item group ids. Check the current entity and applicable objective before supplying it."
              },
              "item_stitch_status": {
                "type": "string",
                "description": "Native TikTok item stitch status. Check the current entity and applicable objective before supplying it."
              },
              "landing_page_url": {
                "type": "string",
                "description": "Native TikTok landing page url. Check the current entity and applicable objective before supplying it."
              },
              "music_id": {
                "type": "string",
                "description": "For CAROUSEL_ADS, use a carousel-compatible music_id from tiktok_get_carousel_music for these exact images. Generic CREATIVE_ASSET library music is not interchangeable."
              },
              "page_id": {
                "type": "string",
                "pattern": "^\\d+$",
                "description": "Native TikTok page id. Check the current entity and applicable objective before supplying it."
              },
              "page_image_index": {
                "type": "number",
                "description": "Native TikTok page image index. Check the current entity and applicable objective before supplying it."
              },
              "playable_url": {
                "type": "string",
                "description": "Native TikTok playable url. Check the current entity and applicable objective before supplying it."
              },
              "product_set_id": {
                "type": "string",
                "description": "Native TikTok product set id. Check the current entity and applicable objective before supplying it."
              },
              "product_specific_type": {
                "type": "string",
                "description": "Native TikTok product specific type. Check the current entity and applicable objective before supplying it."
              },
              "promotional_music_disabled": {
                "type": "boolean",
                "description": "Native TikTok promotional music disabled. Check the current entity and applicable objective before supplying it."
              },
              "shopping_ads_deeplink_type": {
                "type": "string",
                "description": "Native TikTok shopping ads deeplink type. Check the current entity and applicable objective before supplying it."
              },
              "shopping_ads_fallback_type": {
                "type": "string",
                "description": "Native TikTok shopping ads fallback type. Check the current entity and applicable objective before supplying it."
              },
              "shopping_ads_video_package_id": {
                "type": "string",
                "description": "Native TikTok shopping ads video package id. Check the current entity and applicable objective before supplying it."
              },
              "sku_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "maxItems": 100,
                "description": "Native TikTok sku ids. Check the current entity and applicable objective before supplying it."
              },
              "tiktok_item_id": {
                "type": "string",
                "description": "Authorized TikTok post ID for Spark Ads. A media-library video ID cannot substitute for it."
              },
              "tracking_app_id": {
                "type": "string",
                "description": "Native TikTok tracking app id. Check the current entity and applicable objective before supplying it."
              },
              "tracking_offline_event_set_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "maxItems": 100,
                "description": "Native TikTok tracking offline event set ids. Check the current entity and applicable objective before supplying it."
              },
              "tracking_pixel_id": {
                "type": "string",
                "pattern": "^\\d+$",
                "description": "Native TikTok tracking pixel id. Check the current entity and applicable objective before supplying it."
              },
              "utm_params": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string",
                      "description": "Native TikTok key. Check the current entity and applicable objective before supplying it."
                    },
                    "value": {
                      "type": "string",
                      "description": "Native TikTok value. Check the current entity and applicable objective before supplying it."
                    }
                  },
                  "additionalProperties": false
                },
                "maxItems": 100,
                "description": "Native TikTok utm params. Check the current entity and applicable objective before supplying it."
              },
              "vast_moat_enabled": {
                "type": "boolean",
                "description": "Native TikTok vast moat enabled. Check the current entity and applicable objective before supplying it."
              },
              "vertical_video_strategy": {
                "type": "string",
                "description": "Native TikTok vertical video strategy. Check the current entity and applicable objective before supplying it."
              },
              "video_id": {
                "type": "string",
                "description": "Uploaded TikTok video ID, not a preview URL."
              },
              "video_view_tracking_url": {
                "type": "string",
                "description": "Native TikTok video view tracking url. Check the current entity and applicable objective before supplying it."
              },
              "viewability_postbid_partner": {
                "type": "string",
                "description": "Native TikTok viewability postbid partner. Check the current entity and applicable objective before supplying it."
              },
              "viewability_vast_url": {
                "type": "string",
                "description": "Native TikTok viewability vast url. Check the current entity and applicable objective before supplying it."
              }
            },
            "additionalProperties": false
          },
          "maxItems": 100,
          "description": "Native TikTok creatives. Check the current entity and applicable objective before supplying it."
        },
        "patch_update": {
          "type": "boolean",
          "description": "Native TikTok patch update. Check the current entity and applicable objective before supplying it."
        }
      },
      "required": [
        "adgroup_id",
        "creatives"
      ],
      "additionalProperties": false,
      "description": "Native TikTok settings. Use tiktok_get_write_context before edits. Advertiser and status fields are controlled separately. Read the schema rather than guessing parameters."
    },
    "currency": {
      "type": "string",
      "pattern": "^[A-Z]{3}$",
      "description": "Actual advertiser currency, required when configuration contains monetary amounts. Verified before any write."
    },
    "confirm": {
      "type": "boolean",
      "description": "Apply only when true. Default is a local preview without any TikTok call. Never retry an uncertain POST automatically."
    },
    "workspace_id": {
      "type": "string",
      "description": "Authorized workspace ID from list_accounts/list_workspaces. Use the user's chosen workspace; never guess between clients. Optional when a unique account identifies it."
    },
    "reason": {
      "type": "string",
      "maxLength": 500,
      "description": "Why, in the person's words or from the evidence (e.g. CPA twice the target for 7 days). Saved with the change in the shared client journal."
    }
  },
  "required": [
    "advertiserId",
    "configuration"
  ]
}
```

## Published example

No example input is published for this tool. Ask for the inputs required by its schema.

## Execute and retrieve

Inspect again before execution, explain the price and obtain the required authority. Use MCP run_tool or POST /v1/run with this tool ID, valid input and an idempotency key. Save the returned run ID and follow the actual state. If Agentik answers that the tool is temporarily unavailable, do not retry it blindly; use discovery to propose an alternative.

A partial or uncertain result can still have consumed provider resources. Consult [billing](/docs/billing.md), [idempotency](/docs/idempotency.md) and [asynchronous results](/docs/async.md).

[REST inspection](https://api.agentik.cc/v1/tools/tiktok-ads/update-ads) · [OpenAPI](/openapi.json) · [Connection guide](/connect.md)

---

[HTML page](/providers/tiktok-ads/update-ads) · [Agent index](/llms.txt)
