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

# Meta

> The 47 adside commands for Meta.

See [Using commands](https://docs.adside.ai/cli/commands.md) for how flags, JSON input, paging and confirmations work. Run `adside meta --help` to see what your installed version has.

## meta account-creatives

### meta account-creatives analyze

Analyze all creatives in an account to identify patterns, performance insights, and optimization opportunities.

Beta: this command may still change.

```bash theme={null}
adside meta account-creatives analyze [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--account-id` | `<id>` | Meta Ad Account ID to analyze (uses configured account if not provided) |
| `--limit` | `<1-100>=50` | Maximum number of creatives to analyze |

## meta account-pages

### meta account-pages get

List the Facebook Pages usable for ads on the given ad account: every Page the person who connected Meta can advertise with (ads access on the Page is what Meta checks), with already\_used\_by\_this\_ad\_account on the ones the account has run ads with.

Beta: this command may still change.

```bash theme={null}
adside meta account-pages get [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--account-id` | `<id>` | Meta Ad Account ID (uses configured account if not provided) |

## meta account-pixels

### meta account-pixels get

List pixels/datasets available to this workspace's connected ad account, including ones with no attached ad sets.

Beta: this command may still change.

```bash theme={null}
adside meta account-pixels get [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--account-id` | `<id>` | Meta Ad Account ID (uses configured account if not provided) |
| `--limit` | `<1-100>=25` | |
| `--after` | `<next>` | Next-page cursor from `adside meta account-pixels get`. |

## meta account-setup

### meta account-setup verify

Check Meta account access, active status, funding visibility, promotable Pages and spending capacity.

Beta: this command may still change.

```bash theme={null}
adside meta account-setup verify [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--account-id` | `<id>` | Meta Ad Account ID to verify (uses configured account if not provided) |

## meta account-spend-limit

### meta account-spend-limit get

Read the Meta ad account's spending limit and how much has been spent toward it.

Beta: this command may still change.

```bash theme={null}
adside meta account-spend-limit get [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--account-id` | `<id>` | Meta Ad Account ID (uses configured account if not provided) |

## meta ad-creative

### meta ad-creative get

Get a single ad creative by ID with full details including copy, media, and Advantage+ Creative (asset\_feed\_spec) data.

Beta: this command may still change.

```bash theme={null}
adside meta ad-creative get --creative-id <id>
```

| Flag | Value | What it does |
| - | - | - |
| `--creative-id` (required) | `<id>` | The creative ID to fetch |

## meta ad-images

### meta ad-images get

Retrieve ad images from a Meta ad account.

Beta: this command may still change.

```bash theme={null}
adside meta ad-images get [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--account-id` | `<id>` | Meta Ad Account ID (uses configured account if not provided) |
| `--hashes` | `'<json>'` | Filter by specific image hashes |
| `--limit` | `<1-100>=25` | Maximum number of images to return |

## meta ad-sets

### meta ad-sets get

Retrieve details for a single ad set including its targeting, budget, optimization goal, and schedule.

Beta: this command may still change.

```bash theme={null}
adside meta ad-sets get --adset-id <id>
```

| Flag | Value | What it does |
| - | - | - |
| `--adset-id` (required) | `<id>` | Ad set ID to retrieve |

### meta ad-sets list

List all ad sets for a given campaign or ad account.

Beta: this command may still change.

```bash theme={null}
adside meta ad-sets list [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--campaign-id` | `<id>` | Filter by campaign ID |
| `--account-id` | `<id>` | Filter by account ID |
| `--status` | `ACTIVE\|PAUSED\|DELETED\|ARCHIVED` | Filter by ad set status |
| `--limit` | `<1-100>=25` | Number of ad sets to return |
| `--after` | `<next>` | Pagination cursor for next page |

## meta ads

### meta ads get

Retrieve details for a single ad including its name, status, ad set, campaign, and creative.

Beta: this command may still change.

```bash theme={null}
adside meta ads get --ad-id <id>
```

| Flag | Value | What it does |
| - | - | - |
| `--ad-id` (required) | `<id>` | Ad ID to retrieve |

### meta ads list

List all ads for a given campaign, ad set, or ad account.

Beta: this command may still change.

```bash theme={null}
adside meta ads list [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--campaign-id` | `<id>` | Filter by campaign ID |
| `--adset-id` | `<id>` | Filter by ad set ID |
| `--account-id` | `<id>` | Filter by account ID |
| `--status` | `ACTIVE\|PAUSED\|DELETED\|ARCHIVED` | Filter by ad status |
| `--limit` | `<1-100>=25` | Number of ads to return |
| `--after` | `<next>` | Pagination cursor for next page |

### meta ads preview

Generate HTML preview of how an ad creative will appear in different placements and formats.

Beta: this command may still change.

```bash theme={null}
adside meta ads preview --creative-id <id> --ad-format DESKTOP_FEED_STANDARD|MOBILE_FEED_STANDARD|MOBILE_FEED_BASIC|MOBILE_BANNER|MOBILE_MEDIUM_RECTANGLE|MOBILE_FULLWIDTH|MOBILE_INTERSTITIAL|INSTAGRAM_STANDARD|INSTAGRAM_STORY [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--creative-id` (required) | `<id>` | Creative ID to preview |
| `--ad-format` (required) | `DESKTOP_FEED_STANDARD\|MOBILE_FEED_STANDARD\|MOBILE_FEED_BASIC\|MOBILE_BANNER\|MOBILE_MEDIUM_RECTANGLE\|MOBILE_FULLWIDTH\|MOBILE_INTERSTITIAL\|INSTAGRAM_STANDARD\|INSTAGRAM_STORY` | Ad format for preview |
| `--product-item-ids` | `'<json>'` | Product item IDs for dynamic ads |

## meta api-compliance

### meta api-compliance check

Check if your creative parameters are compliant with current Meta Marketing API (v25.0) requirements.

Beta: this command may still change.

```bash theme={null}
adside meta api-compliance check --name <name> --page-id <id> --link-url <url> [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--name` (required) | `<name>` | Creative name |
| `--page-id` (required) | `<id>` | Facebook Page ID (required for object\_story\_spec) |
| `--link-url` (required) | `<url>` | Destination URL where users will be directed when clicking the ad |
| `--account-id` | `<id>` | Meta Ad Account ID (uses configured account if not provided) |
| `--message` | `<message>` | Primary ad text/message (single-variant). Mutually exclusive with `bodies`. |
| `--headline` | `<headline>` | Ad title/headline (single-variant). Mutually exclusive with `titles`. |
| `--bodies` | `'<json>'` | Multi-variant primary texts (1–5). When set, the creative is built with asset\_feed\_spec and must be attached to a Dynamic Creative ad set. |
| `--titles` | `'<json>'` | Multi-variant headlines (1–5). Pair with `bodies`. |
| `--descriptions` | `'<json>'` | Multi-variant descriptions (0–5). Pair with `bodies`. |
| `--picture` | `<url>` | External image URL - must be publicly accessible |
| `--image-hash` | `<image-hash>` | Pre-uploaded image hash (alternative to picture URL) |
| `--video-id` | `<id>` | Video ID for video creatives |
| `--placement-assets` | `'<json>'` | Placement asset customization (multi-ratio ad): one image or video per placement bucket, each `placement_group` at most once. Requires `image_hash` as the fallback image for placements not listed. Upload every ratio first (upload\_image\_from\_url / upload\_video\_from\_url) and pass the hashes. Mutually exclusive with `bodies`/`titles` — the resulting creative must be attached to a STANDARD ad set (Meta rejects it in a Dynamic Creative ad set). |
| `--creative-source` | `'<json>'` | For a static creative from an Adside drop, pass its exact prepared source. The server rechecks destination compatibility, revision, effective copy and placement image hashes before creating anything. |
| `--call-to-action-type` | `LEARN_MORE\|SHOP_NOW\|SIGN_UP\|DOWNLOAD\|BOOK_TRAVEL\|LISTEN_MUSIC\|WATCH_VIDEO\|GET_QUOTE\|CONTACT_US\|APPLY_NOW\|GET_DIRECTIONS\|CALL_NOW\|MESSAGE_PAGE\|SUBSCRIBE\|BOOK_NOW\|ORDER_NOW\|DONATE_NOW\|SAY_THANKS\|SELL_NOW\|SHARE\|OPEN_LINK\|LIKE_PAGE\|FOLLOW_PAGE\|FOLLOW_USER\|REQUEST_TIME\|VISIT_PAGES_FEED\|USE_APP\|PLAY_GAME\|INSTALL_APP\|USE_MOBILE_APP\|INSTALL_MOBILE_APP\|OPEN_MOVIES\|AUDIO_CALL\|VIDEO_CALL\|GET_OFFER\|GET_OFFER_VIEW\|BUY_NOW\|ADD_TO_CART\|SELL\|GIFT_WRAP\|MAKE_AN_OFFER\|BUY_TICKETS\|EXPLORE_MORE\|GET_PROMOTIONS\|GET_SHOWTIMES\|LISTEN_NOW\|SAVE\|SEE_DETAILS\|SEE_MENU\|WATCH_MORE\|WHATSAPP_MESSAGE` | Call to action button type (40+ supported types) |
| `--description` | `<description>` | Additional description text |
| `--instagram-actor-id` | `<id>` | Optional. Instagram Business Account ID of the Page's Instagram account (typically starts with 1784) — the instagram\_account\_id `adside meta account-pages get` reports for that Page. When omitted the tool resolves the identity itself: the Page's Instagram business account, else — for placement-customised and variation creatives only, which Meta refuses without one — its Page-backed Instagram account (created when the Page has none — a write on the workspace's Page the result calls out), else the Page actor override. A standard creative is left without one when the Page has no Instagram account. The result reports which one it used in instagram\_identity |
| `--adlabels` | `'<json>'` | Ad labels for organization and tracking |
| `--enable-standard-enhancements` | `true\|false=false` | Enable Standard Enhancements with individual feature control |
| `--enhancement-features` | `'<json>'` | Individual enhancement feature controls |
| `--attachment-style` | `link\|album=link` | Attachment style for link ads |
| `--caption` | `<caption>` | Caption text (typically domain name) |
| `--url-tags` | `<url-tags>` | URL tags appended to the link URL for tracking (e.g. utm\_source=...\&utm\_medium=...) |

## meta api-reference

### meta api-reference get

Get a reference guide for valid Meta Marketing API parameters, including allowed optimization goals, billing events, and their valid combinations.

Beta: this command may still change.

```bash theme={null}
adside meta api-reference get
```

## meta attribution-data

### meta attribution-data get

Retrieve attribution data with conversion tracking across multiple attribution windows (1-day click, 7-day click, 1-day view).

Beta: this command may still change.

```bash theme={null}
adside meta attribution-data get --level account|campaign|adset|ad [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--level` (required) | `account\|campaign\|adset\|ad` | Level of insights to retrieve |
| `--object-id` | `<id>` | ID of the object to get insights for. Omit it to use the connected ad account (recommended for account-wide queries at any level). Otherwise pass a campaign ID, ad set ID, or ad ID matching `level`. Account IDs other than the connected account are rejected. Passing a page/business/user ID returns Meta error #100. |
| `--date-preset` | `today\|yesterday\|last_3d\|last_7d\|last_14d\|last_28d\|last_30d\|last_90d\|this_week_mon_today\|this_week_sun_today\|last_week_mon_sun\|last_week_sun_sat\|this_month\|last_month\|this_quarter\|last_quarter\|this_year\|last_year\|maximum\|data_maximum` | Date preset for insights |
| `--time-range` | `'<json>'` | Custom date range for insights |
| `--fields` | `'<json>'` | Specific fields to retrieve (e.g., impressions, clicks, spend) |
| `--breakdowns` | `'<json>'` | Breakdown dimensions (e.g., age, gender, placement) |
| `--time-increment` | `'<json>'` | Time granularity: "monthly" for monthly rows, "all\_days" for daily rows, or a number 1-90 for N-day increments |
| `--limit` | `<1-100>=25` | Number of insights to return |
| `--after` | `<next>` | Cursor for the next page: pass back the `pagination.next_cursor` value from a previous response. Keep every other parameter identical, or the cursor no longer matches the query it came from. |

## meta audience-details

### meta audience-details get

Get detailed information about a specific audience including size estimates, delivery status, operation status, data source, and targeting rules.

Beta: this command may still change.

```bash theme={null}
adside meta audience-details get --audience-id <id>
```

| Flag | Value | What it does |
| - | - | - |
| `--audience-id` (required) | `<id>` | The audience ID to get details for |

## meta audience-size

### meta audience-size estimate

Estimate the potential reach of a targeting specification.

Beta: this command may still change.

```bash theme={null}
adside meta audience-size estimate --targeting '<json>' --optimization-goal <optimization-goal> [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--targeting` (required) | `'<json>'` | Targeting parameters for size estimation |
| `--optimization-goal` (required) | `<optimization-goal>` | Optimization goal for the estimate |
| `--account-id` | `<id>` | Meta Ad Account ID (uses configured account if not provided) |

## meta audiences

### meta audiences list

List custom and lookalike audiences for an ad account.

Beta: this command may still change.

```bash theme={null}
adside meta audiences list [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--account-id` | `<id>` | Meta Ad Account ID (uses configured account if not provided) |
| `--type` | `custom\|lookalike\|saved` | Filter by audience type |
| `--limit` | `<1-100>=25` | Number of audiences to return |
| `--after` | `<next>` | Pagination cursor for next page |

## meta behaviors

### meta behaviors search

List all available targetable behaviors from Meta's targeting categories.

Beta: this command may still change.

```bash theme={null}
adside meta behaviors search [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--limit` | `<1-500>=100` | Number of results to return |

## meta campaign-readiness

### meta campaign-readiness check

Check if a campaign is ready for ad set creation.

Beta: this command may still change.

```bash theme={null}
adside meta campaign-readiness check [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--campaign-id` | `<id>` | Campaign ID. Preferred when known. Provide this or campaign\_name, not both. |
| `--campaign-name` | `<campaign-name>` | Exact campaign name to look up (not an ID). Use campaign\_id when the ID is known. Provide this or campaign\_id, not both. |
| `--account-id` | `<id>` | Meta Ad Account ID (required when using campaign\_name, uses configured account if not provided) |

## meta campaigns

### meta campaigns get

Retrieve full details for a specific campaign by ID or name.

Beta: this command may still change.

```bash theme={null}
adside meta campaigns get [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--campaign-id` | `<id>` | Campaign ID. Preferred when known. Provide this or campaign\_name, not both. |
| `--campaign-name` | `<campaign-name>` | Exact campaign name to look up (not an ID). Use campaign\_id when the ID is known. Provide this or campaign\_id, not both. |
| `--account-id` | `<id>` | Meta Ad Account ID (required when using campaign\_name, uses configured account if not provided) |

### meta campaigns list

Retrieve a paginated list of all campaigns for a Meta ad account.

Beta: this command may still change.

```bash theme={null}
adside meta campaigns list [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--account-id` | `<id>` | Meta Ad Account ID (uses configured account if not provided) |
| `--status` | `ACTIVE\|PAUSED\|DELETED\|ARCHIVED` | Filter by campaign status |
| `--limit` | `<1-100>=25` | Number of campaigns to return |
| `--after` | `<next>` | Pagination cursor for next page |

## meta creative-best-practices

### meta creative-best-practices get

Get comprehensive best practices for creating high-performing ad creatives.

Beta: this command may still change.

```bash theme={null}
adside meta creative-best-practices get
```

## meta creative-enhanced

### meta creative-enhanced validate

Enhanced creative validation with comprehensive checks including page permissions, image accessibility, and Meta API compliance.

Beta: this command may still change.

```bash theme={null}
adside meta creative-enhanced validate --name <name> --page-id <id> --message <message> [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--name` (required) | `<name>` | Creative name |
| `--page-id` (required) | `<id>` | Facebook Page ID (required for object\_story\_spec) |
| `--message` (required) | `<message>` | Primary ad text/message |
| `--account-id` | `<id>` | Meta Ad Account ID (uses configured account if not provided) |
| `--headline` | `<headline>` | Ad title/headline |
| `--picture` | `<url>` | External image URL - must be publicly accessible |
| `--image-hash` | `<image-hash>` | Pre-uploaded image hash (alternative to picture URL) |
| `--video-id` | `<id>` | Video ID for video creatives |
| `--call-to-action-type` | `LEARN_MORE\|SHOP_NOW\|SIGN_UP\|DOWNLOAD\|BOOK_TRAVEL\|LISTEN_MUSIC\|WATCH_VIDEO\|GET_QUOTE\|CONTACT_US\|APPLY_NOW\|GET_DIRECTIONS\|CALL_NOW\|MESSAGE_PAGE\|SUBSCRIBE\|BOOK_NOW\|ORDER_NOW\|DONATE_NOW\|SAY_THANKS\|SELL_NOW\|SHARE\|OPEN_LINK\|LIKE_PAGE\|FOLLOW_PAGE\|FOLLOW_USER\|REQUEST_TIME\|VISIT_PAGES_FEED\|USE_APP\|PLAY_GAME\|INSTALL_APP\|USE_MOBILE_APP\|INSTALL_MOBILE_APP\|OPEN_MOVIES\|AUDIO_CALL\|VIDEO_CALL\|GET_OFFER\|GET_OFFER_VIEW\|BUY_NOW\|ADD_TO_CART\|SELL\|GIFT_WRAP\|MAKE_AN_OFFER\|BUY_TICKETS\|EXPLORE_MORE\|GET_PROMOTIONS\|GET_SHOWTIMES\|LISTEN_NOW\|SAVE\|SEE_DETAILS\|SEE_MENU\|WATCH_MORE\|WHATSAPP_MESSAGE` | Call to action button type (40+ supported types) |
| `--link-url` | `<url>` | Destination URL where users will be directed when clicking the ad |
| `--description` | `<description>` | Additional description text |
| `--instagram-actor-id` | `<id>` | Optional. Instagram Business Account ID of the Page's Instagram account (typically starts with 1784) — the instagram\_account\_id `adside meta account-pages get` reports for that Page. When omitted the tool resolves the identity itself: the Page's Instagram business account, else — for placement-customised and variation creatives only, which Meta refuses without one — its Page-backed Instagram account (created when the Page has none — a write on the workspace's Page the result calls out), else the Page actor override. A standard creative is left without one when the Page has no Instagram account. The result reports which one it used in instagram\_identity |
| `--adlabels` | `'<json>'` | Ad labels for organization and tracking |
| `--enable-standard-enhancements` | `true\|false=false` | Enable Standard Enhancements with individual feature control |
| `--enhancement-features` | `'<json>'` | Individual enhancement feature controls |
| `--attachment-style` | `link\|album=link` | Attachment style for link ads |
| `--caption` | `<caption>` | Caption text (typically domain name) |

## meta creative-issues

### meta creative-issues troubleshoot

Diagnose and fix common creative creation and performance issues.

Beta: this command may still change.

```bash theme={null}
adside meta creative-issues troubleshoot --issue-description <issue-description> [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--issue-description` (required) | `<issue-description>` | Describe the creative issue you're experiencing or paste the error message |
| `--creative-type` | `image\|video\|carousel\|collection` | Type of creative experiencing issues |

## meta creative-performance

### meta creative-performance get

Get guidance on analyzing creative performance metrics.

Beta: this command may still change.

```bash theme={null}
adside meta creative-performance get --creative-id <id> --ad-format DESKTOP_FEED_STANDARD|MOBILE_FEED_STANDARD|MOBILE_FEED_BASIC|MOBILE_BANNER|MOBILE_MEDIUM_RECTANGLE|MOBILE_FULLWIDTH|MOBILE_INTERSTITIAL|INSTAGRAM_STANDARD|INSTAGRAM_STORY [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--creative-id` (required) | `<id>` | Creative ID to preview |
| `--ad-format` (required) | `DESKTOP_FEED_STANDARD\|MOBILE_FEED_STANDARD\|MOBILE_FEED_BASIC\|MOBILE_BANNER\|MOBILE_MEDIUM_RECTANGLE\|MOBILE_FULLWIDTH\|MOBILE_INTERSTITIAL\|INSTAGRAM_STANDARD\|INSTAGRAM_STORY` | Ad format for preview |
| `--product-item-ids` | `'<json>'` | Product item IDs for dynamic ads |

## meta creative-setup

### meta creative-setup validate

Validate ad creative parameters before creation to catch errors early.

Beta: this command may still change.

```bash theme={null}
adside meta creative-setup validate --name <name> --page-id <id> --link-url <url> [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--name` (required) | `<name>` | Creative name |
| `--page-id` (required) | `<id>` | Facebook Page ID (required for object\_story\_spec) |
| `--link-url` (required) | `<url>` | Destination URL where users will be directed when clicking the ad |
| `--account-id` | `<id>` | Meta Ad Account ID (uses configured account if not provided) |
| `--message` | `<message>` | Primary ad text/message (single-variant). Mutually exclusive with `bodies`. |
| `--headline` | `<headline>` | Ad title/headline (single-variant). Mutually exclusive with `titles`. |
| `--bodies` | `'<json>'` | Multi-variant primary texts (1–5). When set, the creative is built with asset\_feed\_spec and must be attached to a Dynamic Creative ad set. |
| `--titles` | `'<json>'` | Multi-variant headlines (1–5). Pair with `bodies`. |
| `--descriptions` | `'<json>'` | Multi-variant descriptions (0–5). Pair with `bodies`. |
| `--picture` | `<url>` | External image URL - must be publicly accessible |
| `--image-hash` | `<image-hash>` | Pre-uploaded image hash (alternative to picture URL) |
| `--video-id` | `<id>` | Video ID for video creatives |
| `--placement-assets` | `'<json>'` | Placement asset customization (multi-ratio ad): one image or video per placement bucket, each `placement_group` at most once. Requires `image_hash` as the fallback image for placements not listed. Upload every ratio first (upload\_image\_from\_url / upload\_video\_from\_url) and pass the hashes. Mutually exclusive with `bodies`/`titles` — the resulting creative must be attached to a STANDARD ad set (Meta rejects it in a Dynamic Creative ad set). |
| `--creative-source` | `'<json>'` | For a static creative from an Adside drop, pass its exact prepared source. The server rechecks destination compatibility, revision, effective copy and placement image hashes before creating anything. |
| `--call-to-action-type` | `LEARN_MORE\|SHOP_NOW\|SIGN_UP\|DOWNLOAD\|BOOK_TRAVEL\|LISTEN_MUSIC\|WATCH_VIDEO\|GET_QUOTE\|CONTACT_US\|APPLY_NOW\|GET_DIRECTIONS\|CALL_NOW\|MESSAGE_PAGE\|SUBSCRIBE\|BOOK_NOW\|ORDER_NOW\|DONATE_NOW\|SAY_THANKS\|SELL_NOW\|SHARE\|OPEN_LINK\|LIKE_PAGE\|FOLLOW_PAGE\|FOLLOW_USER\|REQUEST_TIME\|VISIT_PAGES_FEED\|USE_APP\|PLAY_GAME\|INSTALL_APP\|USE_MOBILE_APP\|INSTALL_MOBILE_APP\|OPEN_MOVIES\|AUDIO_CALL\|VIDEO_CALL\|GET_OFFER\|GET_OFFER_VIEW\|BUY_NOW\|ADD_TO_CART\|SELL\|GIFT_WRAP\|MAKE_AN_OFFER\|BUY_TICKETS\|EXPLORE_MORE\|GET_PROMOTIONS\|GET_SHOWTIMES\|LISTEN_NOW\|SAVE\|SEE_DETAILS\|SEE_MENU\|WATCH_MORE\|WHATSAPP_MESSAGE` | Call to action button type (40+ supported types) |
| `--description` | `<description>` | Additional description text |
| `--instagram-actor-id` | `<id>` | Optional. Instagram Business Account ID of the Page's Instagram account (typically starts with 1784) — the instagram\_account\_id `adside meta account-pages get` reports for that Page. When omitted the tool resolves the identity itself: the Page's Instagram business account, else — for placement-customised and variation creatives only, which Meta refuses without one — its Page-backed Instagram account (created when the Page has none — a write on the workspace's Page the result calls out), else the Page actor override. A standard creative is left without one when the Page has no Instagram account. The result reports which one it used in instagram\_identity |
| `--adlabels` | `'<json>'` | Ad labels for organization and tracking |
| `--enable-standard-enhancements` | `true\|false=false` | Enable Standard Enhancements with individual feature control |
| `--enhancement-features` | `'<json>'` | Individual enhancement feature controls |
| `--attachment-style` | `link\|album=link` | Attachment style for link ads |
| `--caption` | `<caption>` | Caption text (typically domain name) |
| `--url-tags` | `<url-tags>` | URL tags appended to the link URL for tracking (e.g. utm\_source=...\&utm\_medium=...) |

## meta creatives

### meta creatives list

Browse an ad account's creatives, one page at a time.

Beta: this command may still change.

```bash theme={null}
adside meta creatives list [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--account-id` | `<id>` | Meta Ad Account ID (uses configured account if not provided) |
| `--limit` | `<1-50>=25` | How many creatives to return, 1-50 (default 25). Follow next\_cursor for more rather than asking for a bigger page. |
| `--after` | `<next>` | Pagination cursor for next page |

## meta custom-conversions

### meta custom-conversions list

List the account's custom conversions — the named conversions built on a dataset's traffic, as opposed to Meta's standard pixel events or named custom pixel events.

Beta: this command may still change.

```bash theme={null}
adside meta custom-conversions list [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--account-id` | `<id>` | Meta Ad Account ID (uses configured account if not provided) |
| `--limit` | `<max 100>` | Maximum to return. An account may hold up to 100. |

## meta demographics

### meta demographics search

List all available targetable demographics from Meta's targeting categories.

Beta: this command may still change.

```bash theme={null}
adside meta demographics search [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--limit` | `<1-500>=100` | Number of results to return |

## meta error-codes

### meta error-codes get

Get detailed reference for Meta Marketing API error codes, subcodes, and specific solutions.

Beta: this command may still change.

```bash theme={null}
adside meta error-codes get [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--error-code` | `<error-code>` | Specific error code to look up (optional - returns all if not provided) |
| `--error-subcode` | `<error-subcode>` | Specific error subcode for detailed guidance (optional) |

## meta geo-locations

### meta geo-locations search

Search for targetable geographic locations (countries, regions, cities, zip codes) by keyword.

Beta: this command may still change.

```bash theme={null}
adside meta geo-locations search --query <query> [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--query` (required) | `<query>` | Search query for locations |
| `--location-type` | `country\|region\|city\|zip\|geo_market\|electoral_district` | Filter by location type |
| `--limit` | `<1-100>=25` | Number of results to return |

## meta insights

### meta insights export

Export performance insights data in CSV or JSON format.

Beta: this command may still change.

```bash theme={null}
adside meta insights export --object-id <id> --level account|campaign|adset|ad [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--object-id` (required) | `<id>` | ID of campaign, ad set, or ad to export insights for |
| `--level` (required) | `account\|campaign\|adset\|ad` | Level of insights to export |
| `--format` | `csv\|json=csv` | Export format |
| `--date-preset` | `today\|yesterday\|last_3d\|last_7d\|last_14d\|last_28d\|last_30d\|last_90d\|this_week_mon_today\|this_week_sun_today\|last_week_mon_sun\|last_week_sun_sat\|this_month\|last_month\|this_quarter\|last_quarter\|this_year\|last_year\|maximum\|data_maximum` | Date preset for export |
| `--time-range` | `'<json>'` | Custom date range for export |
| `--fields` | `'<json>'` | Specific fields to export |
| `--breakdowns` | `'<json>'` | Breakdown dimensions to include |

### meta insights get

LIVE performance insights straight from the Meta Graph API (impressions, clicks, spend, CTR, CPC, actions, conversions) for a campaign, ad set, ad, or account.

Beta: this command may still change.

```bash theme={null}
adside meta insights get --level account|campaign|adset|ad [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--level` (required) | `account\|campaign\|adset\|ad` | Level of insights to retrieve |
| `--object-id` | `<id>` | ID of the object to get insights for. Omit it to use the connected ad account (recommended for account-wide queries at any level). Otherwise pass a campaign ID, ad set ID, or ad ID matching `level`. Account IDs other than the connected account are rejected. Passing a page/business/user ID returns Meta error #100. |
| `--date-preset` | `today\|yesterday\|last_3d\|last_7d\|last_14d\|last_28d\|last_30d\|last_90d\|this_week_mon_today\|this_week_sun_today\|last_week_mon_sun\|last_week_sun_sat\|this_month\|last_month\|this_quarter\|last_quarter\|this_year\|last_year\|maximum\|data_maximum` | Date preset for insights |
| `--time-range` | `'<json>'` | Custom date range for insights |
| `--fields` | `'<json>'` | Specific fields to retrieve (e.g., impressions, clicks, spend) |
| `--breakdowns` | `'<json>'` | Breakdown dimensions (e.g., age, gender, placement) |
| `--time-increment` | `'<json>'` | Time granularity: "monthly" for monthly rows, "all\_days" for daily rows, or a number 1-90 for N-day increments |
| `--limit` | `<1-100>=25` | Number of insights to return |
| `--after` | `<next>` | Cursor for the next page: pass back the `pagination.next_cursor` value from a previous response. Keep every other parameter identical, or the cursor no longer matches the query it came from. |

## meta instagram-accounts

### meta instagram-accounts list

The Instagram professional accounts this workspace's Meta connection reaches: which one is the workspace's account, whether each can be published to (and why not), the workspace account's quota of posts through the API in the last 24 hours, and the formats with their limits.

Beta: this command may still change.

```bash theme={null}
adside meta instagram-accounts list
```

### meta instagram-accounts select

Choose which Instagram account this workspace posts as.

Beta: this command may still change.

```bash theme={null}
adside meta instagram-accounts select --instagram-account-id <id>
```

| Flag | Value | What it does |
| - | - | - |
| `--instagram-account-id` (required) | `<id>` | The Instagram professional account's id, from `adside meta instagram-accounts list`. |

## meta instagram-posts

### meta instagram-posts delete

Delete a post from this workspace's Instagram account, by media\_id or publication\_id.

Beta: this command may still change.

```bash theme={null}
adside meta instagram-posts delete [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--media-id` | `<id>` | The Instagram post's id (post\_id in a publication). |
| `--publication-id` | `<id>` | The publication whose post to delete. |

### meta instagram-posts list

List an Instagram account's posts, newest first: id (the media\_id a post creative needs), link, type, date, caption and counts.

Beta: this command may still change.

```bash theme={null}
adside meta instagram-posts list [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--account-id` | `<id>` | Meta Ad Account ID (uses configured account if not provided) |
| `--instagram-account-id` | `<id>` | Instagram account whose posts to list (the instagram\_account\_id `adside meta account-pages get` reports). Optional when the ad account reaches exactly one Instagram account. |
| `--permalink` | `<url>` | A post's link ([https://www.instagram.com/p/…](https://www.instagram.com/p/…) or /reel/…). Finds that post among up to 250 recent posts instead of listing a page; when it is older, the answer's next\_cursor continues the search as after. |
| `--limit` | `<1-50>=25` | Posts per page, newest first |
| `--after` | `<next>` | Pagination cursor: the next page, or where a permalink search continues |

### meta instagram-posts publish

Publish an image post, carousel, Reel or Story to this workspace's Instagram account, publicly.

Beta: this command may still change.

```bash theme={null}
adside meta instagram-posts publish --format image|carousel|reel|story --media '<json>' [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--format` (required) | `image\|carousel\|reel\|story` | image: one image in the feed. carousel: 2 to 20 images and videos in one post. reel: one video. story: one image or video for 24 hours. |
| `--media` (required) | `'<json>'` | The files, in the order they appear. One for image, reel and story; 2 to 20 for carousel. Images that aren't a JPEG are converted, and videos are converted to Instagram's MP4 when needed; feed and carousel images must already be 4:5 to 1.91:1 (nothing is cropped). |
| `--text` | `<text>` | The caption, exactly as it will appear: up to 2200 characters, 30 hashtags and 20 mentions. It can't be edited after posting. Not on Stories. |
| `--collaborators` | `'<json>'` | Up to 3 public professional accounts invited as collaborators. Not on Stories. |
| `--location-id` | `<id>` | The id of a Facebook Page that has a location. Not on Stories. |
| `--user-tags` | `'<json>'` | Accounts tagged on a Reel (username only) or a Story. On image posts and carousels, tag each image in media\[].user\_tags instead. |
| `--share-to-feed` | `true\|false` | Reels only: false keeps the Reel to the Reels tab. Instagram shows it on the Feed too by default. |
| `--cover` | `'<json>'` | Reels only: a cover image. Exactly one of asset\_id or url. |
| `--cover-time-ms` | `<min 0>` | Reels only: the frame to use as the cover, in milliseconds from the start. Not with cover. |
| `--audio-name` | `<audio-name>` | Reels only: the name the Reel's original audio gets. |
| `--trial` | `'<json>'` | Reels only: a trial Reel, shown to non-followers first. |
| `--instagram-account-id` | `<id>` | Omit it: the post goes to this workspace's Instagram account, and any other account is refused. |
| `--ai-generated` | `true\|false` | Meta's AI label. Omit it: it is on when any file was generated or derived from a generated Asset. |
| `--allow-duplicate` | `true\|false=false` | By default, the same post to the same account within 24 hours returns that publication instead of posting again. Set true only when the person wants a second post, or after checking the profile following an unknown outcome. |
| `--wait-seconds` | `<0-240>=180` | Seconds to wait for the post to go live (or fail) before answering. Default 180, max 240. Leave the default: one call usually returns the live post. 0 answers at once. |

## meta instagram-publications

### meta instagram-publications get

Where an Instagram publication stands: processing (with its phase), published (with the permalink), failed (nothing was posted, with the reason and the fix), unknown (it may be live: Adside didn't re-send) or deleted.

Beta: this command may still change.

```bash theme={null}
adside meta instagram-publications get [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--publication-id` | `<id>` | The publication\_id `adside meta instagram-posts publish` returned. Omit it for this workspace's most recent Instagram publication. |
| `--wait-seconds` | `<0-240>=180` | Seconds to wait for the post to go live (or fail) before answering. Default 180, max 240. Leave the default: one call usually returns the live post. 0 answers at once. |

## meta interest-suggestions

### meta interest-suggestions get

Get suggested interests similar to a list of seed interests.

Beta: this command may still change.

```bash theme={null}
adside meta interest-suggestions get --interest-list '<json>' [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--interest-list` (required) | `'<json>'` | List of interest names to get suggestions for |
| `--limit` | `<1-1000>=25` | Number of suggestions to return |

## meta interests

### meta interests search

Search for targetable interests by keyword.

Beta: this command may still change.

```bash theme={null}
adside meta interests search --query <query> [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--query` (required) | `<query>` | Search query for interests |
| `--limit` | `<1-100>=25` | Number of results to return |

## meta performance

### meta performance compare

Compare performance metrics across multiple campaigns, ad sets, or ads side by side.

Beta: this command may still change.

```bash theme={null}
adside meta performance compare --object-ids '<json>' --level campaign|adset|ad [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--object-ids` (required) | `'<json>'` | IDs of campaigns/ad sets/ads to compare |
| `--level` (required) | `campaign\|adset\|ad` | Level of objects being compared |
| `--date-preset` | `today\|yesterday\|last_3d\|last_7d\|last_14d\|last_28d\|last_30d\|last_90d\|this_week_mon_today\|this_week_sun_today\|last_week_mon_sun\|last_week_sun_sat\|this_month\|last_month\|this_quarter\|last_quarter\|this_year\|last_year\|maximum\|data_maximum` | Date preset for comparison |
| `--time-range` | `'<json>'` | Custom date range for comparison |
| `--metrics` | `'<json>'` | Metrics to compare |

## meta pixel-stats

### meta pixel-stats get

Read recent event activity directly from Meta's pixel/dataset stats edge, even when no ad sets use it.

Beta: this command may still change.

```bash theme={null}
adside meta pixel-stats get --pixel-id <id> [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--pixel-id` (required) | `<id>` | Pixel/dataset ID from `adside meta account-pixels get`; independent of ad-set attachment. |
| `--aggregation` | `browser_type\|custom_data_field\|device_os\|device_type\|event\|event_detection_method\|event_processing_results\|event_source\|event_total_counts\|event_value_count\|had_pii\|host\|match_keys\|pixel_fire\|url\|url_by_rule=event_total_counts` | event\_total\_counts lists standard/custom event names and counts; event for time buckets; event\_source for browser/server mix; event\_processing\_results for diagnostics; host/url for origins; match\_keys/had\_pii for matching. Returns Meta's original aggregation/value/event fields. |
| `--start-time` | `<min 0>` | UTC Unix seconds. Defaults to the earliest retained time (seven days before request time). Meta retains only the last seven days. |
| `--end-time` | `<min 0>` | UTC Unix seconds, after start\_time. Defaults to now. |
| `--event` | `<event>` | Exact event name, including spaces/case, e.g. Lead Generated or Schedule. |
| `--event-source` | `<event-source>` | Meta event-source filter, e.g. WEB\_ONLY or SERVER\_ONLY. The SDK defines this as a string; Meta validates supported values. |
| `--agent` | `<agent>` | Optional SDK agent filter; omit unless diagnosing a specific integration agent. |
| `--limit` | `<1-100>=25` | Maximum stats buckets requested per page; nested results also have a response-size cap. |
| `--after` | `<next>` | Next-page cursor; requires the same explicit start\_time/end\_time and filters as the original query. The requested window is preserved, but Meta's rolling retention may remove oldest data between pages. |

## meta pixels

### meta pixels get

Read a pixel/dataset's activity metadata and optional matching/settings/dataset counters.

Beta: this command may still change.

```bash theme={null}
adside meta pixels get --pixel-id <id> [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--pixel-id` (required) | `<id>` | Pixel/dataset ID from `adside meta account-pixels get`; no attached ad set is required. |
| `--fields` | `'<json>'` | Metadata to read. Defaults to id, name, last\_fired\_time, is\_unavailable. Additional matching/settings and dataset counters can depend on pixel type and access. Missing fields are unknown, not zero. |

## meta quick-fixes

### meta quick-fixes get

Get targeted troubleshooting tips for common Meta Ads API errors.

Beta: this command may still change.

```bash theme={null}
adside meta quick-fixes get --error-message <error-message>
```

| Flag | Value | What it does |
| - | - | - |
| `--error-message` (required) | `<error-message>` | The error message you received from the API |

## meta video-preferred-thumbnail

### meta video-preferred-thumbnail get

Wait for Meta to finish processing an uploaded video and return its preferred thumbnail URL.

Beta: this command may still change.

```bash theme={null}
adside meta video-preferred-thumbnail get --video-id <id> [flags]
```

| Flag | Value | What it does |
| - | - | - |
| `--video-id` (required) | `<id>` | Meta video ID returned by upload\_video\_from\_url |
| `--timeout-ms` | `<number>` | Max time to wait for thumbnails to appear (default 60000) |
| `--poll-ms` | `<number>` | Poll interval in milliseconds (default 3000) |


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