account | DynamicAccount | Yes | - | Select the X Ads account to create the ad in. |
update_type | string or SelectableOption | Yes | - | Choose whether to create a single ad or multiple at once. Options: single or bulk. |
ad_group_id | string or SelectItem | No | - | Ad group (line item) to run the ad in. Required unless post_only is enabled. Keep the ad group or campaign paused until you are ready, since X ads have no status of their own and go live with their ad group. |
ad_name | string | No | - | Internal name for the post and card, up to 80 characters. |
text | string | No | - | The post’s text, up to 280 characters. |
media_urls | string or array of string | No | - | The 2 to 6 images or videos to swipe through, in order (list or comma-separated). Accepts direct URLs, Google Drive share links with sharing set to ‘Anyone with the link’, or files uploaded through Markifact. |
media_keys | string or array of string | No | - | Already-uploaded media keys to use instead of media_urls, 2 to 6, in order. |
website_url | string | No | - | Landing page every slide opens. Setting this builds a website carousel with the headline below. For per-slide destinations use x_ads_create_card with slides instead. |
headline | string | No | - | Carousel headline. Required with website_url. |
call_to_action | enum (BOOK, CONNECT, INSTALL, OPEN, ORDER, PLAY, SHOP) | No | - | App carousel button label: BOOK, CONNECT, INSTALL, OPEN, ORDER, PLAY, or SHOP. Required with app store identifiers. |
country_code | string | No | - | ISO alpha-2 country of the app store, e.g. US. Required for app destinations. |
ios_app_store_identifier | string | No | - | Numeric App Store id. Setting it builds an app carousel. |
googleplay_app_id | string | No | - | Google Play package name. Setting it builds an app carousel. |
ios_deep_link | string | No | - | Deep link opened on iOS; only sent alongside the App Store id. |
googleplay_deep_link | string | No | - | Deep link opened on Android; only sent alongside the Google Play id. |
conversation_settings | enum (EVERYONE, FOLLOWING, MENTIONED_USERS) | No | - | Who can reply: EVERYONE (default), FOLLOWING, or MENTIONED_USERS. |
post_only | boolean | No | False | Create the Promoted-only post and carousel card without promoting, so they can be reused across ad groups with x_ads_create_ad_from_post. |
return_detailed_results | boolean | No | False | Include the full post and ad objects in the output. |
structured_data | array (also accepts a comma-separated string) | No | - | Use only when update_type is bulk. Columns: media_urls or media_keys (2 to 6 each), plus optional text, ad_group_id, ad_name, website_url, headline, and the app fields. Up to 100 rows. |