{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/highlevel/main/json-schema/highlevel-campaign-dto-schema.json", "title": "CampaignDTO", "x-generated": "2026-09-22", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/_original/highlevel-ad-manager-openapi.json#/components/schemas/CampaignDTO", "type": "object", "properties": { "id": { "type": "string", "description": "Campaign identifier" }, "name": { "type": "string", "description": "Campaign name" }, "locationId": { "type": "string", "description": "Location identifier" }, "advertisingChannelType": { "type": "string", "description": "Advertising channel", "enum": [ "SEARCH", "DISCOVERY", "DISPLAY", "HOTEL", "LOCAL", "MULTI_CHANNEL", "PERFORMANCE_MAX", "DEMAND_GEN" ] }, "advertisingChannelSubType": { "type": "string", "description": "Channel sub type", "enum": [ "DEMAND_GEN" ] }, "goalType": { "type": "string", "description": "Goal type", "enum": [ "WEBSITE_TRAFFIC", "LEAD" ] }, "budget": { "description": "Campaign budget", "allOf": [ { "$ref": "#/$defs/GoogleBudgetDTO" } ] }, "audience": { "description": "Campaign audience targeting", "allOf": [ { "$ref": "#/$defs/GoogleCampaignAudienceDTO" } ] }, "networkSettings": { "description": "Network settings", "allOf": [ { "$ref": "#/$defs/GoogleNetworkSettingsDTO" } ] }, "biddingStrategy": { "description": "Bidding strategy config", "allOf": [ { "$ref": "#/$defs/GoogleBiddingStrategyDTO" } ] }, "assets": { "description": "Campaign assets", "allOf": [ { "$ref": "#/$defs/GoogleAssetsDTO" } ] }, "isEuPoliticalAds": { "type": "boolean", "description": "EU political ads flag" }, "adGroups": { "description": "Campaign ad groups", "type": "array", "items": { "$ref": "#/$defs/GoogleAdGroupDTO" } }, "campaignGoal": { "description": "Campaign goal config", "allOf": [ { "$ref": "#/$defs/GoogleCampaignGoalDTO" } ] }, "adSchedule": { "description": "Ad schedule rules", "type": "array", "items": { "$ref": "#/$defs/GoogleAdScheduleDTO" } }, "publishingStatus": { "type": "string", "description": "Publishing status", "enum": [ "DRAFT", "SCHEDULED", "PUBLISHED", "PUBLISHING", "FAILED", "IN_REVIEW", "PAUSED", "ARCHIVED", "WITH_ISSUES", "REJECTED" ] }, "googleAdAccountId": { "type": "string", "description": "Google Ad account identifier" }, "unpublishedChanges": { "type": "boolean", "description": "Whether the campaign has unpublished changes" }, "maximumCpc": { "type": "number", "description": "Maximum CPC bid in micros" }, "googleCampaignId": { "type": "string", "description": "Google Ads campaign resource ID" }, "source": { "type": "string", "description": "Traffic source" }, "advancedOptions": { "type": "object", "description": "Advanced options" } }, "required": [ "name", "locationId", "advertisingChannelType" ], "$defs": { "GeoAddressComponentDTO": { "type": "object", "properties": { "long_name": { "type": "string", "description": "Full name of the address component" }, "short_name": { "type": "string", "description": "Abbreviated name of the address component" }, "types": { "description": "Address component types", "type": "array", "items": { "type": "string" } } } }, "GeoGeometryDTO": { "type": "object", "properties": { "location": { "description": "Location coordinates", "allOf": [ { "$ref": "#/$defs/GeoLatLngDTO" } ] }, "location_type": { "type": "string", "description": "Location type (e.g. APPROXIMATE)" }, "viewport": { "description": "Viewport bounding box", "allOf": [ { "$ref": "#/$defs/GeoViewportDTO" } ] } } }, "GeoLatLngDTO": { "type": "object", "properties": { "lat": { "type": "number", "description": "Latitude" }, "lng": { "type": "number", "description": "Longitude" } } }, "GeoViewportDTO": { "type": "object", "properties": { "northeast": { "description": "Northeast corner of the viewport", "allOf": [ { "$ref": "#/$defs/GeoLatLngDTO" } ] }, "southwest": { "description": "Southwest corner of the viewport", "allOf": [ { "$ref": "#/$defs/GeoLatLngDTO" } ] } } }, "GoogleAdContentDTO": { "type": "object", "properties": { "id": { "type": "string", "description": "Ad identifier" }, "name": { "type": "string", "description": "Ad name" }, "mediaType": { "type": "string", "description": "Media type", "enum": [ "IMAGE", "VIDEO", "CAROUSEL" ] }, "headlines": { "description": "Ad headlines", "type": "array", "items": { "type": "string" } }, "longHeadlines": { "description": "Long headlines", "type": "array", "items": { "type": "string" } }, "descriptions": { "description": "Ad descriptions", "type": "array", "items": { "type": "string" } }, "finalUrl": { "type": "string", "description": "Final URL" }, "path1": { "type": "string", "description": "Display path 1" }, "path2": { "type": "string", "description": "Display path 2" }, "isDeleted": { "type": "boolean", "description": "Whether the ad is soft-deleted" }, "adError": { "type": "string", "description": "Ad-level error message from Google" }, "publishingStatus": { "type": "string", "description": "Ad publishing status", "enum": [ "DRAFT", "SCHEDULED", "PUBLISHED", "PUBLISHING", "FAILED", "IN_REVIEW", "PAUSED", "ARCHIVED", "WITH_ISSUES", "REJECTED" ] }, "adId": { "type": "string", "description": "Internal ad identifier" }, "adCampaignId": { "type": "string", "description": "Ad campaign identifier" }, "adGroupId": { "type": "string", "description": "Ad group identifier" }, "googleAdId": { "type": "string", "description": "Google Ads ad resource ID" }, "media": { "description": "Ad media items", "type": "array", "items": { "$ref": "#/$defs/GoogleMediaDTO" } }, "callToActionLabel": { "type": "string", "description": "Call to action label", "enum": [ "AUTOMATED", "LEARN_MORE", "GET_QUOTE", "APPLY_NOW", "SIGN_UP", "CONTACT_US", "SUBSCRIBE", "DOWNLOAD", "BOOK_NOW", "SHOP_NOW", "BUY_NOW", "DONATE_NOW", "ORDER_NOW", "PLAY_NOW", "SEE_MORE" ] }, "businessName": { "type": "string", "description": "Business name" }, "youtubeVideoLinks": { "description": "YouTube video links", "type": "array", "items": { "$ref": "#/$defs/GoogleYouTubeVideoLinkDTO" } }, "carouselCards": { "description": "Carousel cards", "type": "array", "items": { "$ref": "#/$defs/GoogleCarouselCardDTO" } }, "placements": { "type": "array", "description": "Channel placements", "items": { "type": "string", "enum": [ "GMAIL", "YOUTUBE_IN_STREAM", "YOUTUBE_SHORTS", "YOUTUBE_IN_FEED", "DISCOVER", "DISPLAY" ] } }, "customChannels": { "type": "boolean", "description": "Custom channels flag" } } }, "GoogleAdGroupAudienceDTO": { "type": "object", "properties": { "geo_locations": { "description": "Geo-location targeting", "type": "array", "items": { "$ref": "#/$defs/GoogleGeoLocationDTO" } }, "locales": { "description": "Language/locale targeting", "type": "array", "items": { "$ref": "#/$defs/GoogleLocaleDTO" } } } }, "GoogleAdGroupDTO": { "type": "object", "properties": { "id": { "type": "string", "description": "Ad group identifier" }, "adGroupId": { "type": "string", "description": "Google ad group identifier" }, "name": { "type": "string", "description": "Ad group name" }, "adCampaignId": { "type": "string", "description": "Ad campaign identifier" }, "adContent": { "description": "Ad content items", "type": "array", "items": { "$ref": "#/$defs/GoogleAdContentDTO" } }, "keywords": { "description": "Keyword targeting", "allOf": [ { "$ref": "#/$defs/GoogleKeywordsDTO" } ] }, "publishingStatus": { "type": "string", "description": "Ad group publishing status", "enum": [ "DRAFT", "SCHEDULED", "PUBLISHED", "PUBLISHING", "FAILED", "IN_REVIEW", "PAUSED", "ARCHIVED", "WITH_ISSUES", "REJECTED" ] }, "adGroupError": { "type": "string", "description": "Ad group-level error from Google" }, "googleAdGroupId": { "type": "string", "description": "Google Ads ad group resource ID" }, "customChannels": { "type": "boolean", "description": "Custom channels flag" }, "selectedChannels": { "type": "array", "description": "Selected channel placements", "items": { "type": "string", "enum": [ "GMAIL", "YOUTUBE_IN_STREAM", "YOUTUBE_SHORTS", "YOUTUBE_IN_FEED", "DISCOVER", "DISPLAY" ] } }, "googleAudienceId": { "type": "string", "description": "Google audience resource ID" }, "audience": { "description": "Ad group audience targeting", "allOf": [ { "$ref": "#/$defs/GoogleAdGroupAudienceDTO" } ] } } }, "GoogleAdScheduleDTO": { "type": "object", "properties": { "dayOfWeek": { "type": "string", "description": "Day of week", "enum": [ "FRIDAY", "MONDAY", "SATURDAY", "SUNDAY", "THURSDAY", "TUESDAY", "UNKNOWN", "UNSPECIFIED", "WEDNESDAY", "ALL_DAYS", "MONDAY_TO_FRIDAY", "SATURDAY_AND_SUNDAY" ] }, "from": { "type": "string", "description": "Start time (HH:MM)" }, "to": { "type": "string", "description": "End time (HH:MM)" } }, "required": [ "dayOfWeek", "from", "to" ] }, "GoogleAssetImageDTO": { "type": "object", "properties": { "url": { "type": "string", "description": "Image URL" }, "resourceName": { "type": "string", "description": "Google Ads resource name" }, "name": { "type": "string", "description": "Asset name" }, "error": { "type": "string", "description": "Error message if asset upload failed" } }, "required": [ "url" ] }, "GoogleAssetsDTO": { "type": "object", "properties": { "calls": { "description": "Call extension asset resource names", "type": "array", "items": { "type": "string" } }, "sitelinks": { "description": "Sitelink asset resource names", "type": "array", "items": { "type": "string" } }, "leadForm": { "type": "string", "description": "Lead form asset resource name" }, "images": { "description": "Image assets", "type": "array", "items": { "$ref": "#/$defs/GoogleAssetImageDTO" } }, "businessLogo": { "description": "Business logo asset", "allOf": [ { "$ref": "#/$defs/GoogleAssetImageDTO" } ] } } }, "GoogleBiddingStrategyDTO": { "type": "object", "properties": { "type": { "type": "string", "description": "Bidding strategy type" }, "value": { "type": "number", "description": "Bid value in micros" } } }, "GoogleBudgetDTO": { "type": "object", "properties": { "budgetType": { "type": "string", "description": "Budget type", "enum": [ "DAILY", "LIFETIME" ] }, "amount": { "type": "number", "description": "Budget amount in micros" }, "scheduleStartDate": { "type": "string", "description": "Schedule start date" }, "scheduleEndDate": { "type": "string", "description": "Schedule end date" } } }, "GoogleCampaignAudienceDTO": { "type": "object", "properties": { "geo_locations": { "description": "Geo-location targeting", "type": "array", "items": { "$ref": "#/$defs/GoogleGeoLocationDTO" } }, "locales": { "description": "Language/locale targeting", "type": "array", "items": { "$ref": "#/$defs/GoogleLocaleDTO" } }, "gender": { "description": "Gender targeting", "type": "array", "items": { "$ref": "#/$defs/GoogleDemographicTargetDTO" } }, "ageRange": { "description": "Age range targeting", "type": "array", "items": { "$ref": "#/$defs/GoogleDemographicTargetDTO" } }, "segments": { "description": "Audience segment targeting", "type": "array", "items": { "$ref": "#/$defs/GoogleSegmentTargetDTO" } }, "targetInterests": { "description": "Interest-based targeting", "allOf": [ { "$ref": "#/$defs/GoogleTargetInterestsDTO" } ] } } }, "GoogleCampaignGoalDTO": { "type": "object", "properties": { "type": { "type": "string", "description": "Campaign goal type", "enum": [ "CONVERSIONS", "CLICK", "YOUTUBE_ENGAGEMENT" ] }, "value": { "type": "string", "description": "Goal value (e.g. conversion action resource name)" }, "isCustomConversionGoal": { "type": "boolean", "description": "Whether this is a custom conversion goal" } }, "required": [ "type" ] }, "GoogleCarouselCardDTO": { "type": "object", "properties": { "headline": { "type": "string", "description": "Card headline" }, "finalUrl": { "type": "string", "description": "Card final URL" }, "callToActionLabel": { "type": "string", "description": "Call to action label" }, "media": { "description": "Card media items", "type": "array", "items": { "$ref": "#/$defs/GoogleMediaDTO" } } } }, "GoogleDemographicTargetDTO": { "type": "object", "properties": { "enum": { "type": "string", "description": "Demographic enum value" }, "negative": { "type": "boolean", "description": "Whether this is a negative target" } }, "required": [ "enum", "negative" ] }, "GoogleGeoLocationDTO": { "type": "object", "properties": { "key": { "type": "string", "description": "Geo target constant resource name" }, "id": { "type": "string", "description": "Location identifier (place_id)" }, "name": { "type": "string", "description": "Location display name" }, "country_name": { "type": "string", "description": "Country name" }, "type": { "type": "string", "description": "Location type (city, region, country, address, etc.)" }, "radius": { "type": "number", "description": "Radius for proximity targeting" }, "radiusUnit": { "type": "string", "description": "Radius unit", "enum": [ "km", "mi" ] }, "selectionType": { "type": "string", "description": "Include or exclude this location", "enum": [ "include", "exclude" ] }, "resourceName": { "type": "string", "description": "Google Ads resource name" }, "place_id": { "type": "string", "description": "Google place ID" }, "formatted_address": { "type": "string", "description": "Full formatted address string" }, "geometry": { "description": "Geometry data from Google Geocoding API", "allOf": [ { "$ref": "#/$defs/GeoGeometryDTO" } ] }, "address_components": { "description": "Address components from Google Geocoding API", "type": "array", "items": { "$ref": "#/$defs/GeoAddressComponentDTO" } } } }, "GoogleKeywordItemDTO": { "type": "object", "properties": { "keyword": { "type": "string", "description": "Keyword text" }, "matchType": { "type": "string", "description": "Match type (BROAD, PHRASE, EXACT)" } }, "required": [ "keyword", "matchType" ] }, "GoogleKeywordsDTO": { "type": "object", "properties": { "positives": { "description": "Positive keywords", "type": "array", "items": { "$ref": "#/$defs/GoogleKeywordItemDTO" } }, "negatives": { "description": "Negative keywords", "type": "array", "items": { "$ref": "#/$defs/GoogleKeywordItemDTO" } } } }, "GoogleLocaleDTO": { "type": "object", "properties": { "name": { "type": "string", "description": "Language display name" }, "key": { "type": "string", "description": "Language key" }, "id": { "type": "string", "description": "Language identifier" }, "resourceName": { "type": "string", "description": "Language resource name" } } }, "GoogleMediaDTO": { "type": "object", "properties": { "type": { "type": "string", "description": "Media type", "enum": [ "IMAGE" ] }, "src": { "type": "string", "description": "Media source URL" }, "isLogo": { "type": "boolean", "description": "Is logo flag" }, "error": { "type": "string", "description": "Error message if media failed" }, "url": { "type": "string", "description": "Public URL of the media" }, "imageType": { "type": "string", "description": "Image type classification" } } }, "GoogleNetworkSettingsDTO": { "type": "object", "properties": { "targetSearchNetwork": { "type": "boolean", "description": "Target Google Search Network" }, "targetContentNetwork": { "type": "boolean", "description": "Target Google Display Network" } }, "required": [ "targetSearchNetwork", "targetContentNetwork" ] }, "GoogleSegmentTargetDTO": { "type": "object", "properties": { "type": { "type": "string", "description": "Segment type" }, "id": { "type": "string", "description": "Segment identifier" } }, "required": [ "type", "id" ] }, "GoogleTargetInterestsDTO": { "type": "object", "properties": { "affinity": { "description": "Affinity audience IDs", "type": "array", "items": { "type": "string" } }, "inMarket": { "description": "In-market audience IDs", "type": "array", "items": { "type": "string" } } } }, "GoogleYouTubeVideoLinkDTO": { "type": "object", "properties": { "youtubeVideoId": { "type": "string", "description": "YouTube video ID" } }, "required": [ "youtubeVideoId" ] } } }