# Adside.ai API ## Docs - [Introduction](https://docs.adside.ai/introduction.md): Adside.ai — Unified API for managing ad campaigns across Meta, LinkedIn, and Google - [Getting Started](https://docs.adside.ai/getting-started.md): Set up your API key and make your first MCP tool call - [Authentication](https://docs.adside.ai/authentication.md): How API key authentication works - [MCP Protocol](https://docs.adside.ai/mcp-protocol.md): How JSON-RPC 2.0 and the Model Context Protocol work in this API - [Rate Limits](https://docs.adside.ai/rate-limits.md): Per-account scoring model and retry strategies - [Error Handling](https://docs.adside.ai/error-handling.md): Error codes, classes, and resolution guidance - [Meta](https://docs.adside.ai/sources/meta.md): Meta Ads API integration — Graph API v23.0 - [LinkedIn](https://docs.adside.ai/sources/linkedin.md): LinkedIn Ads API integration — RestLi protocol - [Google](https://docs.adside.ai/sources/google.md): Google Sheets/Drive REST endpoints and Google Ads MCP tools - [Get Customer](https://docs.adside.ai/api-reference/google-ads/get-customer.md): Get Google Ads account details including name, currency, timezone, and status. - [List Accessible Customers](https://docs.adside.ai/api-reference/google-ads/list-accessible-customers.md): List the Google Ads customer account this client is connected to. Always returns that one account — other accounts the credentials can reach belong to other clients and are not available here. - [List Campaign Budgets](https://docs.adside.ai/api-reference/google-ads/list-campaign-budgets.md): List campaign budgets for a Google Ads account with usage information. - [Create Campaign Budget](https://docs.adside.ai/api-reference/google-ads/create-campaign-budget.md): Create a campaign budget. Amount is in dollars (converted to micros internally). Required before creating a campaign. - [Update Campaign Budget](https://docs.adside.ai/api-reference/google-ads/update-campaign-budget.md): Update an existing campaign budget (name, amount, delivery method). - [Remove Campaign Budget](https://docs.adside.ai/api-reference/google-ads/remove-campaign-budget.md): PERMANENTLY remove a campaign budget. This action is IRREVERSIBLE — the budget and all its data will be lost. Budget must not be in use by any campaign. Requires confirm: true. - [List Google Campaigns](https://docs.adside.ai/api-reference/google-ads/list-google-campaigns.md): List campaigns with optional filters for status and type. Includes budget and bidding information. - [Create Google Campaign](https://docs.adside.ai/api-reference/google-ads/create-google-campaign.md): Create a Search or Performance Max campaign. Always created as PAUSED by default (safety contract). Requires a budget_id from create_campaign_budget. - [Update Google Campaign](https://docs.adside.ai/api-reference/google-ads/update-google-campaign.md): Update campaign properties (name, status, bidding strategy, dates, geo targeting). - [Remove Campaign](https://docs.adside.ai/api-reference/google-ads/remove-campaign.md): PERMANENTLY remove a campaign. This action is IRREVERSIBLE — the campaign and all its data will be lost. Requires confirm: true. - [List Ad Groups](https://docs.adside.ai/api-reference/google-ads/list-ad-groups.md): List ad groups for a campaign with bids, status, and rotation settings. - [Create Ad Group](https://docs.adside.ai/api-reference/google-ads/create-ad-group.md): Create an ad group within a campaign. Set default CPC bid and ad rotation. - [Update Ad Group](https://docs.adside.ai/api-reference/google-ads/update-ad-group.md): Update ad group properties (name, status, bid, rotation mode). - [Remove Ad Group](https://docs.adside.ai/api-reference/google-ads/remove-ad-group.md): PERMANENTLY remove an ad group. IRREVERSIBLE. Requires confirm: true. - [List Google Ads](https://docs.adside.ai/api-reference/google-ads/list-google-ads.md): List ads in an ad group with RSA details including headlines, descriptions, and ad strength. - [Create Responsive Search Ad](https://docs.adside.ai/api-reference/google-ads/create-responsive-search-ad.md): Create a Responsive Search Ad (RSA) with 3-15 headlines and 2-4 descriptions. Google tests combinations to find best performers. - [Update Google Ad](https://docs.adside.ai/api-reference/google-ads/update-google-ad.md): Update an ad's status (ENABLED or PAUSED). RSA content cannot be modified after creation. - [Remove Ad](https://docs.adside.ai/api-reference/google-ads/remove-ad.md): PERMANENTLY remove an ad. IRREVERSIBLE. Requires confirm: true. - [List Keywords](https://docs.adside.ai/api-reference/google-ads/list-keywords.md): List keywords for an ad group with match type, quality score, and performance data. - [Add Keywords](https://docs.adside.ai/api-reference/google-ads/add-keywords.md): Add keywords to an ad group (batch, up to 200). Supports EXACT, PHRASE, and BROAD match types, and negative keywords. - [Remove Keywords](https://docs.adside.ai/api-reference/google-ads/remove-keywords.md): Remove keywords from an ad group by criterion IDs. PERMANENT and IRREVERSIBLE. Requires confirm: true. - [List Assets](https://docs.adside.ai/api-reference/google-ads/list-assets.md): List assets (text, image, video) for a Google Ads account. Filter by type. - [Create Asset](https://docs.adside.ai/api-reference/google-ads/create-asset.md): Create a text, image, or video asset for use in Performance Max Asset Groups. - [Remove Asset](https://docs.adside.ai/api-reference/google-ads/remove-asset.md): PERMANENTLY remove an asset. IRREVERSIBLE. Requires confirm: true. - [List Asset Groups](https://docs.adside.ai/api-reference/google-ads/list-asset-groups.md): List asset groups for a Performance Max campaign with status and final URLs. - [Create Asset Group](https://docs.adside.ai/api-reference/google-ads/create-asset-group.md): Create an asset group for a Performance Max campaign. Google's AI assembles ads from the assets in each group. - [Add Assets To Group](https://docs.adside.ai/api-reference/google-ads/add-assets-to-group.md): Link existing assets to an asset group with field_type mapping (HEADLINE, DESCRIPTION, MARKETING_IMAGE, etc.). - [Remove Asset Group](https://docs.adside.ai/api-reference/google-ads/remove-asset-group.md): PERMANENTLY remove an asset group. IRREVERSIBLE. Requires confirm: true. - [Get Campaign Performance](https://docs.adside.ai/api-reference/google-ads/get-campaign-performance.md): Get campaign performance metrics (impressions, clicks, cost, conversions, CTR, CPC). Supports date ranges and segmentation. - [Get Keyword Performance](https://docs.adside.ai/api-reference/google-ads/get-keyword-performance.md): Get keyword-level performance metrics with quality score breakdown (expected CTR, ad relevance, landing page experience). - [Get Search Terms Report](https://docs.adside.ai/api-reference/google-ads/get-search-terms-report.md): Get actual search queries that triggered your ads (vs keywords you're targeting). Essential for negative keyword discovery. - [Run Gaql Query](https://docs.adside.ai/api-reference/google-ads/run-gaql-query.md): Execute a raw GAQL query for advanced users. Escape-hatch tool for power users. Use Google Ads Query Language (GAQL) syntax. Returns raw results from Google Ads API. - [List Audience Segments](https://docs.adside.ai/api-reference/google-ads/list-audience-segments.md): List available audience segments (in-market, affinity, custom) for targeting. - [Add Audience To Campaign](https://docs.adside.ai/api-reference/google-ads/add-audience-to-campaign.md): Add an audience segment to a campaign or ad group as targeting criterion. - [Get Geo Targets](https://docs.adside.ai/api-reference/google-ads/get-geo-targets.md): Search geographic targets by name (countries, regions, cities). Returns geo target constant IDs for campaign targeting. - [List Conversion Actions](https://docs.adside.ai/api-reference/google-ads/list-conversion-actions.md): List conversion actions configured for the account. - [Create Conversion Action](https://docs.adside.ai/api-reference/google-ads/create-conversion-action.md): Create a conversion action for tracking user actions (purchases, sign-ups, etc.). Required for Smart Bidding strategies. - [List Gtm Containers](https://docs.adside.ai/api-reference/google-tag-manager/list-gtm-containers.md): List this client's Google Tag Manager containers. This is the entry point — no other GTM tool can run without a container path from here. - [Get Container Config](https://docs.adside.ai/api-reference/google-tag-manager/get-container-config.md): Read the tags, triggers and variables of a GTM container, from the published version (`live`) or from a draft workspace. - [Audit Conversion Tracking](https://docs.adside.ai/api-reference/google-tag-manager/audit-conversion-tracking.md): Audit what a GTM container actually deploys for conversion tracking, reading the **published** version. - [Get Ad Account](https://docs.adside.ai/api-reference/linkedin/get-ad-account.md): Get details of a LinkedIn Ad Account (name, status, currency, type, serving statuses) - [List Ad Accounts](https://docs.adside.ai/api-reference/linkedin/list-ad-accounts.md): Get the one LinkedIn Ad Account this client is connected to. Every other tool defaults to it, so you rarely need to pass account_id at all — and an account id from anywhere else (memory, an earlier conversation, another client) will be refused. - [Get Company Pages](https://docs.adside.ai/api-reference/linkedin/get-company-pages.md): List LinkedIn Company Pages (organizations) the authenticated user has access to, with their roles. - [List Campaign Groups](https://docs.adside.ai/api-reference/linkedin/list-campaign-groups.md): Search and list campaign groups for a LinkedIn Ad Account. Filter by status, name, or test flag. Supports cursor-based pagination. VOCABULARY: the API's `campaignGroup` is what Campaign Manager shows as "Campaign" (campaignGroup="Campaign", campaign="Ad set", creative="Ad"). Say both names when repo… - [Create Campaign Group](https://docs.adside.ai/api-reference/linkedin/create-campaign-group.md): Create a new campaign group in a LinkedIn Ad Account. Campaign groups organize related campaigns and can control shared budget and schedule. VOCABULARY: the API's `campaignGroup` is what Campaign Manager shows as "Campaign" (campaignGroup="Campaign", campaign="Ad set", creative="Ad"). Say both names… - [Update Campaign Group](https://docs.adside.ai/api-reference/linkedin/update-campaign-group.md): Update an existing campaign group's settings (name, status, budget, schedule). Only provided fields are updated via RestLi PARTIAL_UPDATE. VOCABULARY: the API's `campaignGroup` is what Campaign Manager shows as "Campaign" (campaignGroup="Campaign", campaign="Ad set", creative="Ad"). Say both names w… - [Delete Campaign Group](https://docs.adside.ai/api-reference/linkedin/delete-campaign-group.md): Delete a campaign group. DRAFT groups are hard-deleted; all other statuses are soft-deleted by setting status to PENDING_DELETION. VOCABULARY: the API's `campaignGroup` is what Campaign Manager shows as "Campaign" (campaignGroup="Campaign", campaign="Ad set", creative="Ad"). Say both names when repo… - [List Linkedin Campaigns](https://docs.adside.ai/api-reference/linkedin/list-linkedin-campaigns.md): List campaigns for a LinkedIn Ad Account. Filter by status, type, campaign group, or name. Supports cursor-based pagination. Read servingStatuses, not status, to tell whether a campaign is actually delivering: status is what the advertiser set, servingStatuses is LinkedIn's verdict (RUNNABLE, or a *… - [Search Campaigns](https://docs.adside.ai/api-reference/linkedin/search-campaigns.md): Search campaigns with multiple filters (IDs, statuses, types, campaign groups). More flexible than list_campaigns for complex queries. As with list_linkedin_campaigns, servingStatuses — not status — says whether a campaign is actually delivering. VOCABULARY: the API's `campaign` is what Campaign Man… - [Create Linkedin Campaign](https://docs.adside.ai/api-reference/linkedin/create-linkedin-campaign.md): Create a new campaign in a LinkedIn Ad Account. Requires campaign group, name, type, objective, cost type, locale, and budget. Optionally set targeting, schedule, and format. VOCABULARY: the API's `campaign` is what Campaign Manager shows as "Ad set" (campaignGroup="Campaign", campaign="Ad set", cre… - [Update Linkedin Campaign](https://docs.adside.ai/api-reference/linkedin/update-linkedin-campaign.md): Update an existing campaign's settings (name, status, budget, bid, schedule, delivery options, targeting). Only provided fields are updated via RestLi PARTIAL_UPDATE. objective_type and format are absent on purpose: LinkedIn freezes both once the campaign is saved. Pass expected_version_tag to have… - [Delete Linkedin Campaign](https://docs.adside.ai/api-reference/linkedin/delete-linkedin-campaign.md): Delete a campaign. DRAFT campaigns are hard-deleted; all other statuses are soft-deleted by setting status to PENDING_DELETION. VOCABULARY: the API's `campaign` is what Campaign Manager shows as "Ad set" (campaignGroup="Campaign", campaign="Ad set", creative="Ad"). Say both names when reporting to a… - [List Linkedin Creatives](https://docs.adside.ai/api-reference/linkedin/list-linkedin-creatives.md): Search and list creatives for a LinkedIn Ad Account. Filter by campaign, status, or creative IDs. Uses q=criteria finder with cursor-based pagination (max 100 per page). VOCABULARY: the API's `creative` is what Campaign Manager shows as "Ad" (campaignGroup="Campaign", campaign="Ad set", creative="Ad… - [Get Creative](https://docs.adside.ai/api-reference/linkedin/get-creative.md): Get details of a specific creative by ID, including content, status, review status, and serving hold reasons. VOCABULARY: the API's `creative` is what Campaign Manager shows as "Ad" (campaignGroup="Campaign", campaign="Ad set", creative="Ad"). Say both names when reporting to a user, or they will lo… - [Create Creative](https://docs.adside.ai/api-reference/linkedin/create-creative.md): Create a new creative in a campaign. Use content_reference to sponsor an existing post, or inline_content to create a new post and creative in one call. Two ad formats are supported inline: SINGLE_IMAGE (one image, one headline, one destination) and CAROUSEL (two to ten cards, each with its own imag… - [Update Linkedin Creative](https://docs.adside.ai/api-reference/linkedin/update-linkedin-creative.md): Update a creative's intended status or name via RestLi PARTIAL_UPDATE. Cannot pause a creative that is under review. VOCABULARY: the API's `creative` is what Campaign Manager shows as "Ad" (campaignGroup="Campaign", campaign="Ad set", creative="Ad"). Say both names when reporting to a user, or they… - [Upload Image](https://docs.adside.ai/api-reference/linkedin/upload-image.md): Upload an image from a public URL to LinkedIn for use in creatives. Returns the image URN to use in create_creative. The image is also registered in the ad account's media library under `name`, which is where a human finds it afterwards. An uploaded image can never be deleted — only archived — so it… - [List Lead Gen Forms](https://docs.adside.ai/api-reference/linkedin/list-lead-gen-forms.md): List the lead gen forms an ad account owns. A lead gen ad opens one of these inside LinkedIn, pre-filled from the member's profile, instead of sending them to a website. Each result carries the `urn` that create_creative's leadgen_form_id expects, so use this before building a LEAD_GENERATION ad — f… - [Get Lead Gen Form](https://docs.adside.ai/api-reference/linkedin/get-lead-gen-form.md): Get one lead gen form with the questions it asks and the tracking parameters it appends. Use it to tell a client what a form collects before attaching it to an ad, or to check that an existing ad's form still asks for what the campaign needs. - [Get Analytics](https://docs.adside.ai/api-reference/linkedin/get-analytics.md): Get performance analytics (impressions, clicks, cost, conversions, etc.) for LinkedIn ad entities. Group by account, campaign group, campaign, or creative with daily/monthly/all-time granularity. - [Get Demographic Insights](https://docs.adside.ai/api-reference/linkedin/get-demographic-insights.md): Get professional demographic analytics for LinkedIn ads. Break down performance by member company, industry, seniority, job title, job function, or location. Uses q=analytics with MEMBER_* pivots. Note: demographic data has 12-24h delay and 2-year retention. - [Compare Linkedin Performance](https://docs.adside.ai/api-reference/linkedin/compare-linkedin-performance.md): Compare performance across multiple campaigns side-by-side. Returns analytics grouped by campaign for easy comparison of metrics like impressions, clicks, cost, and conversions. - [Search Targeting Facets](https://docs.adside.ai/api-reference/linkedin/search-targeting-facets.md): Search for targeting entity values by facet type. Use typeahead search with a query string, or list all values for a facet. Returns URNs to use in campaign targeting criteria. - [Get Targeting Entities](https://docs.adside.ai/api-reference/linkedin/get-targeting-entities.md): Resolve targeting URNs to human-readable names. Pass a list of URNs (e.g. urn:li:seniority:7, urn:li:industry:9) to get their display names. - [Get Audience Size Estimate](https://docs.adside.ai/api-reference/linkedin/get-audience-size-estimate.md): Estimate how many LinkedIn members match a targeting criteria. Returns a rounded member count. Call this BEFORE creating a campaign: LinkedIn accepts a campaign with no targeting at all and stores no audience for it, so an unchecked campaign can be created that cannot reach anyone. - [List Ad Segments](https://docs.adside.ai/api-reference/linkedin/list-ad-segments.md): List the audience segments an ad account owns: uploaded contact/company lists (type BULK) and website or engagement retargeting audiences (type RETARGETING). Each result carries the targeting facet its URN belongs under, so it can be dropped straight into a campaign's targeting_criteria. Use this be… - [Get Ad Segment](https://docs.adside.ai/api-reference/linkedin/get-ad-segment.md): Look up one audience segment by its urn:li:adSegment: URN or id. Use this to name a segment found inside a campaign's or saved audience's targeting_criteria: list_ad_segments only returns segments owned by the account in scope, so a segment belonging to a sibling ad account of the same agency appear… - [List Saved Audiences](https://docs.adside.ai/api-reference/linkedin/list-saved-audiences.md): List an account's saved audiences (reusable targeting templates built in Campaign Manager). Each one carries a full targeting_criteria that can be copied verbatim into create_linkedin_campaign, or into update_linkedin_campaign to give an existing campaign an audience. Prefer these over composing an… - [Get Saved Audience](https://docs.adside.ai/api-reference/linkedin/get-saved-audience.md): Get one saved audience with its full targeting criteria. Read this before update_saved_audience: an update REPLACES the criteria rather than merging into them. - [Create Saved Audience](https://docs.adside.ai/api-reference/linkedin/create-saved-audience.md): Save a targeting expression as a reusable audience on the ad account. Use this when an audience is worth keeping beyond one campaign — it then appears in Campaign Manager alongside the ones a human built. - [Update Saved Audience](https://docs.adside.ai/api-reference/linkedin/update-saved-audience.md): Update a saved audience's name, description or targeting criteria. Criteria are REPLACED, not merged — call get_saved_audience first and send the complete expression you want. Changing a saved audience affects every campaign built from it. - [List Conversions](https://docs.adside.ai/api-reference/linkedin/list-conversions.md): List all conversion rules for a LinkedIn Ad Account. Returns conversion name, type, method, attribution settings, and enabled status. - [Create Conversion Rule](https://docs.adside.ai/api-reference/linkedin/create-conversion-rule.md): Create a new conversion tracking rule for a LinkedIn Ad Account. Optionally auto-associates with all campaigns. - [Send Conversion Event](https://docs.adside.ai/api-reference/linkedin/send-conversion-event.md): Send a conversion event to LinkedIn. Requires at least one user identifier (SHA256 email, LinkedIn tracking UUID, or first+last name). The conversion must have been created first and must be within the past 90 days. - [Verify Campaign Readiness](https://docs.adside.ai/api-reference/linkedin/verify-campaign-readiness.md): Verify campaign readiness by checking serving statuses, budget, targeting, and LinkedIn's cross-field campaign rules (objective/format, optimization target/cost type, Connected TV). Returns a diagnostic report with issues and recommendations. - [List Meta Campaigns](https://docs.adside.ai/api-reference/meta/list-meta-campaigns.md): Retrieve a paginated list of all campaigns for a Meta ad account. Filter by status (e.g., ACTIVE, PAUSED) and view key campaign details including budget, objective, and timing. Use this to audit or select campaigns for further actions. - [Create Meta Campaign](https://docs.adside.ai/api-reference/meta/create-meta-campaign.md): Create a new Meta ad campaign. Specify the objective, name, and either a daily or lifetime budget (not both). Optionally set start/stop times, special ad categories, and bid strategy. The campaign will be created in PAUSED status unless otherwise specified. Returns the new campaign ID and summary. O… - [Update Meta Campaign](https://docs.adside.ai/api-reference/meta/update-meta-campaign.md): Update an existing campaign's settings. Identify it by campaign_id (preferred when known) or its exact campaign_name. Change the name, status, budget, or schedule. Only the provided fields will be updated. - [Pause Campaign](https://docs.adside.ai/api-reference/meta/pause-campaign.md): Instantly pause a campaign to stop ad delivery and spending. Identify the campaign by ID or by name. - [Resume Campaign](https://docs.adside.ai/api-reference/meta/resume-campaign.md): Reactivate a previously paused campaign to resume ad delivery and spending. Identify the campaign by ID or by name. - [Delete Meta Campaign](https://docs.adside.ai/api-reference/meta/delete-meta-campaign.md): Permanently delete a campaign and all its associated ad sets and ads. This action cannot be undone. Identify the campaign by ID or by name. - [List Ad Sets](https://docs.adside.ai/api-reference/meta/list-ad-sets.md): List all ad sets for a given campaign or ad account. Filter by status and paginate results. Returns ad set details including budget, targeting, and optimization settings. - [Check Campaign Readiness](https://docs.adside.ai/api-reference/meta/check-campaign-readiness.md): Check if a campaign is ready for ad set creation. Identify the campaign by ID or by name. Returns a readiness report with issues, requirements, and recommendations. - [Create Ad Set Enhanced](https://docs.adside.ai/api-reference/meta/create-ad-set-enhanced.md): Create a new ad set with advanced validation and helpful error messages. Specify campaign, name, budget (daily or lifetime), optimization goal, billing event, targeting, and promoted object if required by the campaign objective. The build is validated against known Meta platform rules (objective x c… - [List Meta Ads](https://docs.adside.ai/api-reference/meta/list-meta-ads.md): List all ads for a given campaign, ad set, or ad account. Filter by status and paginate results. Returns ad details including creative, status, and timing. - [Get Campaign](https://docs.adside.ai/api-reference/meta/get-campaign.md): Retrieve full details for a specific campaign by ID or name. Returns all campaign fields including status, objective, budget, and timing. - [Get Meta Api Reference](https://docs.adside.ai/api-reference/meta/get-meta-api-reference.md): Get a reference guide for valid Meta Marketing API parameters, including allowed optimization goals, billing events, and their valid combinations. Use this to troubleshoot parameter errors or to construct valid requests. - [Get Quick Fixes](https://docs.adside.ai/api-reference/meta/get-quick-fixes.md): Get targeted troubleshooting tips for common Meta Ads API errors. Provide an error message to receive likely causes, suggestions, and next steps for resolution. - [Verify Account Setup](https://docs.adside.ai/api-reference/meta/verify-account-setup.md): Verify that a Meta ad account is ready for ad creation. Checks for account access, payment method, Facebook pages, and active campaigns. Returns a setup status, recommendations, and warnings. - [Get Insights](https://docs.adside.ai/api-reference/meta/get-insights.md): LIVE performance insights straight from the Meta Graph API (impressions, clicks, spend, CTR, CPC, actions) for a campaign, ad set, ad, or account. Supports date presets, custom date ranges, breakdowns, and custom field selection. - [Compare Meta Performance](https://docs.adside.ai/api-reference/meta/compare-meta-performance.md): Compare performance metrics across multiple campaigns, ad sets, or ads side by side. Returns ranked comparisons with summary statistics for each object. - [Export Insights](https://docs.adside.ai/api-reference/meta/export-insights.md): Export performance insights data in CSV or JSON format. Fetches up to 1000 records for comprehensive data export with optional breakdowns. - [Get Attribution Data](https://docs.adside.ai/api-reference/meta/get-attribution-data.md): Retrieve attribution data with conversion tracking across multiple attribution windows (1-day click, 7-day click, 1-day view). Returns conversion metrics and cost-per-conversion analysis. - [List Audiences](https://docs.adside.ai/api-reference/meta/list-audiences.md): List custom and lookalike audiences for an ad account. Supports filtering by type (custom, lookalike, saved) and pagination. - [Create Custom Audience](https://docs.adside.ai/api-reference/meta/create-custom-audience.md): Create a new custom audience from customer data, website visitors, app users, or other sources. Specify subtype to control the data source. - [Create Lookalike Audience](https://docs.adside.ai/api-reference/meta/create-lookalike-audience.md): Create a lookalike audience based on an existing custom audience. Specify the source audience, target country, and similarity ratio (1-20%). - [Estimate Audience Size](https://docs.adside.ai/api-reference/meta/estimate-audience-size.md): Estimate the potential reach of a targeting specification. Returns monthly and daily active user estimates with targeting recommendations. - [Update Custom Audience](https://docs.adside.ai/api-reference/meta/update-custom-audience.md): Update a custom audience's metadata (name, description, retention days, or rule). At least one field must be provided. - [Delete Audience](https://docs.adside.ai/api-reference/meta/delete-audience.md): Permanently delete a custom or lookalike audience. This action cannot be undone — campaigns using this audience will need updated targeting. - [Get Audience Details](https://docs.adside.ai/api-reference/meta/get-audience-details.md): Get detailed information about a specific audience including size estimates, delivery status, operation status, data source, and targeting rules. - [List Meta Creatives](https://docs.adside.ai/api-reference/meta/list-meta-creatives.md): List all ad creatives in an ad account. Use this to see existing creatives, their formats, and content before creating new ones or reusing existing creatives. - [Get Ad Creative](https://docs.adside.ai/api-reference/meta/get-ad-creative.md): Get a single ad creative by ID with full details including copy, media, and Advantage+ Creative (asset_feed_spec) data. Use this to retrieve the actual ad copy text (bodies, titles, descriptions) for creatives using Advantage+ or dynamic creative optimization. - [Create Ad Creative](https://docs.adside.ai/api-reference/meta/create-ad-creative.md): Create a new ad creative with images, videos, text, and call-to-action buttons. Supports both image and video creatives with proper object_story_spec structure for Meta API compliance. - [Validate Creative Setup](https://docs.adside.ai/api-reference/meta/validate-creative-setup.md): Validate ad creative parameters before creation to catch errors early. Checks required fields, URL validity, and provides object_story_spec preview. Use this before create_ad_creative to avoid API errors. - [Preview Ad](https://docs.adside.ai/api-reference/meta/preview-ad.md): Generate HTML preview of how an ad creative will appear in different placements and formats. Useful for testing creative appearance before launching campaigns. - [Upload Creative Asset](https://docs.adside.ai/api-reference/meta/upload-creative-asset.md): Get guidance on uploading creative assets (images/videos) to Meta. Provides step-by-step instructions and technical requirements for asset uploads. - [Setup Ab Test](https://docs.adside.ai/api-reference/meta/setup-ab-test.md): Get comprehensive guidance on setting up A/B tests for ad creatives. Provides best practices, testing strategies, and metrics to track for creative optimization. - [Get Creative Performance](https://docs.adside.ai/api-reference/meta/get-creative-performance.md): Get guidance on analyzing creative performance metrics. Provides recommended approaches for tracking creative effectiveness and optimization strategies. - [Update Meta Creative](https://docs.adside.ai/api-reference/meta/update-meta-creative.md): Get information about creative update limitations in Meta's system. Provides alternative approaches since creatives cannot be modified after creation. - [Delete Creative](https://docs.adside.ai/api-reference/meta/delete-creative.md): Delete an ad creative by ID. This will affect all ads using the creative. - [Validate Creative Enhanced](https://docs.adside.ai/api-reference/meta/validate-creative-enhanced.md): Enhanced creative validation with comprehensive checks including page permissions, image accessibility, and Meta API compliance. Provides detailed feedback and fix suggestions. - [Get Creative Best Practices](https://docs.adside.ai/api-reference/meta/get-creative-best-practices.md): Get comprehensive best practices for creating high-performing ad creatives. Includes platform-specific guidelines, content recommendations, and optimization strategies. - [Troubleshoot Creative Issues](https://docs.adside.ai/api-reference/meta/troubleshoot-creative-issues.md): Diagnose and fix common creative creation and performance issues. Provide an error message or describe your issue to get specific solutions and recommendations. - [Analyze Account Creatives](https://docs.adside.ai/api-reference/meta/analyze-account-creatives.md): Analyze all creatives in an account to identify patterns, performance insights, and optimization opportunities. Provides summary statistics and recommendations. - [Upload Image From Url](https://docs.adside.ai/api-reference/meta/upload-image-from-url.md): Upload an image from a URL to Meta and get the image_hash. Downloads the image from the provided URL and uploads it to Meta's servers, returning the hash required for ad creatives. - [Upload Video From Url](https://docs.adside.ai/api-reference/meta/upload-video-from-url.md): Upload a video from a URL to Meta and get the video_id required for video creatives. - [Get Video Preferred Thumbnail](https://docs.adside.ai/api-reference/meta/get-video-preferred-thumbnail.md): Wait for Meta to finish processing an uploaded video and return its preferred thumbnail URL. Use after upload_video_from_url before creating a video creative through the batch endpoint. - [Check Api Compliance](https://docs.adside.ai/api-reference/meta/check-api-compliance.md): Check if your creative parameters are compliant with current Meta Marketing API (v25.0) requirements. Identifies deprecated features and recommends best practices. - [Get Meta Error Codes](https://docs.adside.ai/api-reference/meta/get-meta-error-codes.md): Get detailed reference for Meta Marketing API error codes, subcodes, and specific solutions. Essential for troubleshooting Marketing API integration issues. - [Get Ad Images](https://docs.adside.ai/api-reference/meta/get-ad-images.md): Retrieve ad images from a Meta ad account. Returns image URLs, dimensions, and hashes. Use to get image URLs for displaying ad creatives or generating variations. - [Generate Auth Url](https://docs.adside.ai/api-reference/meta/generate-auth-url.md): Generate a Meta OAuth authorization URL for user login. Returns a URL to open in a browser to grant ad account permissions. - [Exchange Code For Token](https://docs.adside.ai/api-reference/meta/exchange-code-for-token.md): Exchange an OAuth authorization code for an access token. Use after the user has granted permissions via the auth URL. - [Refresh To Long Lived Token](https://docs.adside.ai/api-reference/meta/refresh-to-long-lived-token.md): Exchange a short-lived token (~1-2 hours) for a long-lived token (~60 days). Recommended for sustained API access. - [Generate System User Token](https://docs.adside.ai/api-reference/meta/generate-system-user-token.md): Generate an access token for a Business Manager system user. Used for server-to-server automation with configurable expiration. - [Get Token Info](https://docs.adside.ai/api-reference/meta/get-token-info.md): Get cached token status, configuration details, expiration info, and actionable recommendations for token management. - [Validate Token](https://docs.adside.ai/api-reference/meta/validate-token.md): Validate the current access token by making a live API call to Meta. Returns token validity, permissions, diagnostics, and health check results. - [Get Ad](https://docs.adside.ai/api-reference/meta/get-ad.md): Retrieve details for a single ad including its name, status, ad set, campaign, and creative. - [Create Ad](https://docs.adside.ai/api-reference/meta/create-ad.md): Create a new ad within an ad set. Requires an existing creative and ad set. The ad is created in PAUSED status by default. - [Update Meta Ad](https://docs.adside.ai/api-reference/meta/update-meta-ad.md): Update an existing ad's name, status, or creative. - [Delete Ad](https://docs.adside.ai/api-reference/meta/delete-ad.md): Delete an ad. This action cannot be undone. - [Get Ad Set](https://docs.adside.ai/api-reference/meta/get-ad-set.md): Retrieve details for a single ad set including its targeting, budget, optimization goal, and schedule. - [Update Ad Set](https://docs.adside.ai/api-reference/meta/update-ad-set.md): Update an existing ad set's name, status, budget, bid, schedule, targeting, or promoted object (the pixel and conversion event it optimises towards). - [Update Ad Creative](https://docs.adside.ai/api-reference/meta/update-ad-creative.md): Update an existing ad creative's name, title, body text, or URL tags. - [Get Account Pages](https://docs.adside.ai/api-reference/meta/get-account-pages.md): List Facebook Pages available for ad creation on the given ad account. Returns page IDs and names needed for promoted_object in ad sets. - [Get Account Pixels](https://docs.adside.ai/api-reference/meta/get-account-pixels.md): List Meta Pixels (formerly Facebook Pixels) on the ad account. Returns pixel IDs needed for conversion tracking in promoted_object for Sales and Leads campaigns. - [Search Interests](https://docs.adside.ai/api-reference/meta/search-interests.md): Search for targetable interests by keyword. Returns interest IDs, names, audience sizes, and topic paths for use in ad set targeting. - [Search Geo Locations](https://docs.adside.ai/api-reference/meta/search-geo-locations.md): Search for targetable geographic locations (countries, regions, cities, zip codes) by keyword. Returns location keys for use in ad set geo targeting. - [Search Behaviors](https://docs.adside.ai/api-reference/meta/search-behaviors.md): List all available targetable behaviors from Meta's targeting categories. Returns behavior IDs, names, descriptions, and audience sizes. - [Search Demographics](https://docs.adside.ai/api-reference/meta/search-demographics.md): List all available targetable demographics from Meta's targeting categories. Returns demographic IDs, names, descriptions, and audience sizes. - [Get Interest Suggestions](https://docs.adside.ai/api-reference/meta/get-interest-suggestions.md): Get suggested interests similar to a list of seed interests. Useful for expanding targeting reach based on existing high-performing interests. - [Get Query Guide](https://docs.adside.ai/api-reference/meta-reporting/get-query-guide.md): Load the ClickHouse reporting query guide BEFORE hand-writing any `query_reporting` SQL. Returns the `reporting.meta_*` schema, the four rules that make queries fail if ignored (alias-before-FINAL, always-FINAL, date_start bound, Nullable-array unwrap), and copyable worked examples. Call it once per… - [Query Reporting](https://docs.adside.ai/api-reference/meta-reporting/query-reporting.md): Execute a read-only SELECT against reporting.meta_* (ClickHouse) for ad-hoc analytical questions over historical Meta Ads data (~12h freshness). If you have not loaded `get_query_guide` this session, call it FIRST — it has the schema, the rules that make queries fail (alias-before-FINAL, always-FINA… - [Describe Table](https://docs.adside.ai/api-reference/meta-reporting/describe-table.md): Fallback schema discovery for reporting.meta_* — only use if a column you need is missing from the curated schema in your system prompt. Returns column names, types, and comments. The system prompt already lists the columns the agent typically uses, so most queries can skip this call entirely. Table… - [Get Advertiser Info](https://docs.adside.ai/api-reference/tiktok/get-advertiser-info.md): Get TikTok advertiser account details (name, status, currency, timezone, balance) - [List Advertisers](https://docs.adside.ai/api-reference/tiktok/list-advertisers.md): List the TikTok advertiser account this client is connected to. Always returns that one account — other advertisers the credentials can reach belong to other clients and are not available here. - [List Campaigns](https://docs.adside.ai/api-reference/tiktok/list-campaigns.md): List TikTok ad campaigns with optional filtering by name, objective, status. Returns paginated results. - [Create Campaign](https://docs.adside.ai/api-reference/tiktok/create-campaign.md): Create a TikTok ad campaign. Created with DISABLE status by default (safety). Use update_campaign_status to enable. - [Update Campaign](https://docs.adside.ai/api-reference/tiktok/update-campaign.md): Update a TikTok ad campaign (name, budget, status) - [Update Campaign Status](https://docs.adside.ai/api-reference/tiktok/update-campaign-status.md): Batch enable, disable, or delete TikTok campaigns - [List Ad Groups](https://docs.adside.ai/api-reference/tiktok/list-ad-groups.md): List TikTok ad groups with optional filtering - [Create Ad Group](https://docs.adside.ai/api-reference/tiktok/create-ad-group.md): Create a TikTok ad group with targeting, placement, schedule, budget, and bid settings. Created DISABLED by default. - [Update Ad Group](https://docs.adside.ai/api-reference/tiktok/update-ad-group.md): Update a TikTok ad group (targeting, budget, bid, schedule) - [Update Ad Group Status](https://docs.adside.ai/api-reference/tiktok/update-ad-group-status.md): Batch enable, disable, or delete TikTok ad groups - [List Ads](https://docs.adside.ai/api-reference/tiktok/list-ads.md): List TikTok ads with optional filtering by ad group, campaign, or status - [Create Ad](https://docs.adside.ai/api-reference/tiktok/create-ad.md): Create a TikTok ad with creative (video/image), text, CTA, and landing page. Created DISABLED by default. - [Update Ad](https://docs.adside.ai/api-reference/tiktok/update-ad.md): Update a TikTok ad (creative, text, CTA, landing page) - [Update Ad Status](https://docs.adside.ai/api-reference/tiktok/update-ad-status.md): Batch enable, disable, or delete TikTok ads - [Get Report](https://docs.adside.ai/api-reference/tiktok/get-report.md): Get TikTok integrated reporting with dimensions, metrics, date range, and filters. Supports campaign/ad group/ad level. - [Get Audience Report](https://docs.adside.ai/api-reference/tiktok/get-audience-report.md): Get TikTok audience demographic breakdown (age, gender, country, OS, language) - [Search Interest Categories](https://docs.adside.ai/api-reference/tiktok/search-interest-categories.md): Search TikTok interest categories by keyword for targeting. Returns interest IDs to use in ad group targeting. - [Get Interest Categories](https://docs.adside.ai/api-reference/tiktok/get-interest-categories.md): List all TikTok interest category tree for browsing (not keyword search). Returns hierarchical categories with IDs. - [Get Action Categories](https://docs.adside.ai/api-reference/tiktok/get-action-categories.md): List TikTok behavior/action categories for targeting (user actions on TikTok) - [Search Locations](https://docs.adside.ai/api-reference/tiktok/search-locations.md): Search TikTok targeting locations by keyword. Returns location IDs for use in ad group targeting. - [Upload Image](https://docs.adside.ai/api-reference/tiktok/upload-image.md): Upload an image to TikTok for use in ad creatives (from URL) - [Upload Video](https://docs.adside.ai/api-reference/tiktok/upload-video.md): Upload a video to TikTok for use in ad creatives (from URL). Video processing may take a few minutes. - [Get Video Info](https://docs.adside.ai/api-reference/tiktok/get-video-info.md): Get TikTok video processing status and details (duration, dimensions, format) - [Get Image Info](https://docs.adside.ai/api-reference/tiktok/get-image-info.md): Get TikTok image details (dimensions, format, URL) - [Get Identities](https://docs.adside.ai/api-reference/tiktok/get-identities.md): List available TikTok identities for ad creation. An identity is required as the ad author. - [Whoami](https://docs.adside.ai/api-reference/workspace/whoami.md): Return the organization (client account) and OAuth scopes this connection is authorized for. Use to confirm the connector is scoped to the expected client. - [List Workspaces](https://docs.adside.ai/api-reference/workspace/list-workspaces.md): List active workspaces in the authenticated organization. Use this to discover workspaceId values for workspace-scoped tools. - [Get Ad Performance](https://docs.adside.ai/api-reference/workspace/get-ad-performance.md): Read cross-channel ad performance for a workspace over a date range. Returns spend, impressions, clicks, efficiency metrics, period comparison, and top campaigns. Use list_workspaces when a workspaceId is required and not known. - [List Competitors](https://docs.adside.ai/api-reference/workspace/list-competitors.md): List active competitor companies tracked in the current workspace. If the user has already selected a workspace in this conversation, pass that workspaceId. If the organization has multiple workspaces and none is selected yet, ask the user which workspace to use or call list_workspaces. - [Get Workspace Brand Details](https://docs.adside.ai/api-reference/workspace/get-workspace-brand-details.md): Get the brand kit details for the current workspace: identity, visual brand assets, positioning, tone of voice, products, and capped website evidence. If the user has already selected a workspace in this conversation, pass that workspaceId. If the organization has multiple workspaces and none is sel… - [List Brain Directory](https://docs.adside.ai/api-reference/workspace/list-brain-directory.md): List direct children of a Brain directory for the authenticated organization and selected workspace. Start with `tier="workspace"` and no `path` for client-specific knowledge, or `tier="org"` and no `path` for agency-level knowledge. Use returned file paths with `read_brain_page`; use returned direc… - [Read Brain Page](https://docs.adside.ai/api-reference/workspace/read-brain-page.md): Read one page from the Brain persistent knowledge wiki. Use a tier-prefixed path discovered with `list_brain_directory`, for example `workspace:competitors/acme/ads-meta.md`, `workspace:strategy/positioning.md`, `org:playbooks/meta.md`, or `hal:concepts/cbo.md`. The `workspace` tier contains client-… - [Read Meta Bulk Upload Sheet](https://docs.adside.ai/api-reference/google/read-meta-bulk-upload-sheet.md): Read the Adside Meta bulk-upload Google Sheets template and return structured campaign and ad set data. - [Read Video Generation Cities Sheet](https://docs.adside.ai/api-reference/google/read-video-generation-cities-sheet.md): Read the GOATS-96 city-localization Google Sheets template and return structured city rows for video variations generation. - [Write Meta Bulk Upload Sheet Results](https://docs.adside.ai/api-reference/google/write-meta-bulk-upload-sheet-results.md): Write bulk-upload result columns back to rows in the Adside Meta bulk-upload Google Sheets template. - [List Drive Files](https://docs.adside.ai/api-reference/google/list-drive-files.md): List files in a Google Drive folder available through the connected Google workspace context. - [List Drive Folders](https://docs.adside.ai/api-reference/google/list-drive-folders.md): List subfolders in a Google Drive folder. Defaults to `root` (My Drive) when `parent_id` is omitted. - [Get Drive Thumbnail](https://docs.adside.ai/api-reference/google/get-drive-thumbnail.md): Proxy a Google Drive file thumbnail through the connected Google workspace context. - [Download Drive File](https://docs.adside.ai/api-reference/google/download-drive-file.md): Download a Google Drive file through the connected Google workspace context and return the binary bytes. - [Get Drive File Metadata](https://docs.adside.ai/api-reference/google/get-drive-file-metadata.md): Return metadata for a Google Drive file, including its parent folder ID. Use this to resolve the parent of a source file before creating a sibling output folder. - [Create Drive Folder](https://docs.adside.ai/api-reference/google/create-drive-folder.md): Create a Google Drive folder or nested folder path. Reuses existing intermediate folders, but fails if the final target already exists as either a folder or file. - [Upload File to Drive Folder](https://docs.adside.ai/api-reference/google/upload-file-to-drive-folder.md): Upload a local file into a Google Drive folder through the connected Google workspace context. - [Upload Drive File to Meta](https://docs.adside.ai/api-reference/google/upload-drive-file-to-meta.md): Upload a file from Google Drive directly to Meta Ads Manager. Requires both Google and Meta channel connections. ## OpenAPI Specs - [openapi](https://docs.adside.ai/api-reference/openapi.yaml) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.