Ads · Ad Campaigns

Update an ad set

Updates an ad set.

PUThttps://api.pozy.ai/v1/ads/ad-sets/{adSetId}
Facebook and Instagram, Google Workspace, TikTok, LinkedIn, Pinterest and X and 2 moreupdateAdSet

Guides: Meta Ads, TikTok Ads, LinkedIn Ads

Request

Send your API key as Authorization: Bearer pz_live_.... Read-only keys cannot call it. Keys with the ads resource group disabled get 403 resource_group_disabled. Authentication

Path parameters

NameTypeNotes
adSetIdrequiredstring

Request body

application/json, required

  • platformstringrequired

    One of facebook, instagram, tiktok, linkedin, pinterest, google, twitter, openai, reddit.

  • budgetobject
    • amountnumber
    • typestring

      One of daily, lifetime.

  • statusstring

    One of active, paused.

  • namestring

    Up to 255 characters.

  • bidStrategyobject
  • dsaBeneficiarystring

    1 to 100 characters.

  • dsaPayorstring

    1 to 100 characters.

  • regionalRegulatedCategoriesarray of string
  • regionalRegulationIdentitiesmap of string or integer
  • smartTargetingobject
    • audienceboolean
    • interestsBehaviorsboolean
  • placementsobject

    Can be null.

    8 child fields
    • publisherPlatformsarray of string

      Each item: one of facebook, instagram, threads, messenger, audience_network, whatsapp.

    • facebookPositionsarray of string

      Each item: one of feed, right_hand_column, marketplace, story, search, instream_video, facebook_reels, facebook_reels_overlay, profile_feed, notification.

    • instagramPositionsarray of string

      Each item: one of stream, story, explore, explore_home, reels, profile_feed, ig_search, profile_reels.

    • messengerPositionsarray of string

      Each item: one of messenger_home, sponsored_messages, story.

    • audienceNetworkPositionsarray of string

      Each item: one of classic, rewarded_video.

    • threadsPositionsarray of string

      Each item: one of threads_stream.

    • whatsappPositionsarray of string

      Each item: one of status.

    • devicePlatformsarray of string

      Each item: one of mobile, desktop.

  • startDatestring
  • endDatestring

    Can be null.

  • targetingobject
    31 child fields
    • userOsarray of string

      At least 1 item.

    • userDevicearray of string

      At least 1 item.

    • countriesarray of string
    • regionsarray of string or object

      One of:

      string
      Option 2 (2 fields)
      • keystringrequired
      • namestring
    • citiesarray of string or object

      One of:

      string
      Option 2 (4 fields)
      • keystringrequired
      • namestring
      • radiusnumber
      • distanceUnitstring

        One of mile, kilometer.

    • zipsarray of object
      2 child fields
      • keystringrequired
      • namestring
    • metrosarray of object
      2 child fields
      • keystringrequired
      • namestring
    • countryGroupsarray of string

      Each item: one of africa, asia, europe, north_america, south_america, oceania, central_america, caribbean, eea, euro_area, nafta, mercosur, afta, apec, gcc, cisfta, emerging_markets, itunes_app_store, android_free_store, android_paid_store.

    • customLocationsarray of object
      6 child fields
      • latitudenumberrequired

        -90 to 90.

      • longitudenumberrequired

        -180 to 180.

      • radiusnumberrequired
      • distanceUnitstringrequired

        One of mile, kilometer.

      • namestring
      • addressstring
    • excludedLocationsobject
      8 child fields
      • countriesarray of string
      • countryGroupsarray of string

        Each item: one of africa, asia, europe, north_america, south_america, oceania, central_america, caribbean, eea, euro_area, nafta, mercosur, afta, apec, gcc, cisfta, emerging_markets, itunes_app_store, android_free_store, android_paid_store.

      • regionsarray of object
        2 child fields
        • keystringrequired
        • namestring
      • citiesarray of object
        3 child fields
        • keystringrequired
        • radiusnumber
        • distanceUnitstring

          One of mile, kilometer.

      • zipsarray of object
        2 child fields
        • keystringrequired
        • namestring
      • placesarray of object
        1 child field
        • keystringrequired
      • neighborhoodsarray of object
        1 child field
        • keystringrequired
      • customLocationsarray of object
        6 child fields
        • latitudenumberrequired

          -90 to 90.

        • longitudenumberrequired

          -180 to 180.

        • radiusnumberrequired
        • distanceUnitstringrequired

          One of mile, kilometer.

        • namestring
        • addressstring
    • ageMininteger

      13 to 100.

    • ageMaxinteger

      13 to 100.

    • genderstring

      One of all, male, female.

    • incomeTierstring

      One of top_5, top_10, top_10_25, top_25_50.

    • languagesarray of string
    • interestsarray of object
      2 child fields
      • idstringrequired
      • namestring
    • behaviorsarray of object
      2 child fields
      • idstringrequired
      • namestring
    • workPositionsarray of object
      2 child fields
      • idstringrequired
      • namestring
    • workEmployersarray of object
      2 child fields
      • idstringrequired
      • namestring
    • workIndustriesarray of object
      2 child fields
      • idstringrequired
      • namestring
    • industriesarray of string
    • companySizesarray of string
    • senioritiesarray of string
    • jobFunctionsarray of string
    • skillsarray of string
    • audienceIncludearray of string
    • audienceExcludearray of string
    • communitiesarray of string
    • excludedCommunitiesarray of string
    • conversationKeywordsarray of string
    • excludedConversationKeywordsarray of string
  • bidAmountnumber
  • roasAverageFloornumber
  • valueRuleSetIdstring

    Matches ^\d+$.

  • valueRulesAppliedboolean
  • platformSpecificDataobject
    9 child fields
    • optimizationGoalstring
    • billingEventstring
    • startDatestring
    • endDatestring
    • dailyMinSpendTargetnumber
    • lifetimeMinSpendTargetnumber
    • customerLifecycleobject
      3 child fields
      • strategystringrequired

        One of all_customers, new_customers, new_customers_excluding_engaged.

      • existingCustomerAudienceIdsarray of string
      • engagedAudienceIdsarray of string
    • adScheduleobject
      4 child fields
      • dayOfWeekstringrequired

        One of MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.

      • startHourintegerrequired

        0 to 23.

      • endHourintegerrequired

        1 to 24.

      • timezoneTypestring

        One of USER, ADVERTISER. Default USER.

    • promotedObjectobject
      11 child fields
      • pixelIdstring
      • customEventTypestring
      • customEventStrstring
      • pageIdstring
      • applicationIdstring
      • objectStoreUrlstring
      • customConversionIdstring
      • productCatalogIdstring
      • productSetIdstring
      • offlineConversionDataSetIdstring
      • whatsappPhoneNumberstring

Example

curl -X PUT "https://api.pozy.ai/v1/ads/ad-sets/60484b408d44e7c2492bfec5" \
  -H "Authorization: Bearer $POZY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "platform": "facebook"
}'

Response

200 on success

  • budgetobject
    • amountnumberrequired
    • typestringrequired

      One of daily, lifetime.

  • budgetLevelstring

    One of adset.

  • statusstring

    One of active, paused.

  • platformAdSetStatusstring

    Can be null.

  • platformCampaignStatusstring

    Can be null.

  • statusReadAtstring (date-time)

    Can be null.

  • statusUpdatedinteger

    One of 0, 1.

  • statusSkippedinteger

    One of 0, 1.

  • statusSkippedReasonsarray of string
  • bidStrategystring

    One of LOWEST_COST_WITHOUT_CAP, LOWEST_COST_WITH_BID_CAP, COST_CAP, LOWEST_COST_WITH_MIN_ROAS.

  • bidAmountnumber

    Can be null.

  • roasAverageFloornumber

    Can be null.

  • platformSpecificDataobject
  • targetingobject
  • startDatestring
  • endDatestring

    Can be null.

200 response
{
  "budget": {
    "amount": 12.5,
    "type": "daily"
  },
  "budgetLevel": "adset",
  "status": "active",
  "platformAdSetStatus": "instagram",
  "platformCampaignStatus": "instagram",
  "statusReadAt": "2026-10-02T09:00:00.000Z",
  "statusUpdated": 0,
  "statusSkipped": 0,
  "statusSkippedReasons": [
    "active"
  ],
  "bidStrategy": "LOWEST_COST_WITHOUT_CAP",
  "bidAmount": 12.5,
  "roasAverageFloor": 12.5,
  "platformSpecificData": {},
  "targeting": {},
  "startDate": "string",
  "endDate": "string"
}

Errors

Errors use one shape: { error, type, code, param?, details? }. The ones you are most likely to see here:

400invalid_request_errorA parameter or body field is missing or invalid. param names it.
401authentication_errorThe API key is missing, revoked or expired.
403permission_errorThe key is read-only, scoped to other profiles, or has this resource group disabled.
404not_foundNothing with that id exists in your workspace.
429rate_limit_errorToo many requests this minute. Wait for Retry-After seconds.

Every code is listed in Errors.

More in Ad Campaigns

GETList adsGETList Google Ads recommendationsPOSTApply Google Ads recommendationsPOSTDismiss Google Ads recommendationsGETList portfolio bid strategiesPOSTCreate portfolio bid strategyPATCHUpdate portfolio bid strategyGETList shared budgetsPOSTCreate a shared budgetGETList Search keywordsPOSTAdd Search ad-group keywordsPATCHPause or enable a Search keywordDELRemove a Search keywordGETList campaignsPOSTCreate a standalone campaignPUTPause or resume a campaignGETRead a campaign's ad schedule (dayparting)PUTReplace a campaign's ad schedule (dayparting)GETRead a campaign's current biddingGETGet live campaign detailsPUTUpdate a campaignDELDelete a campaignGETList campaign-level negative keywordsPUTReplace campaign-level negative keywordsPOSTPause or resume many campaignsPOSTDuplicate a campaignGETRead a Google campaign's device, location, excluded location, and language targetingPUTEdit a Google campaign's device, location, excluded location, or language targetingGETList ad setsPOSTCreate a standalone ad groupPOSTDuplicate an ad setPOSTDuplicate an adGETGet live ad-set detailsDELDelete an ad setGETRead a Reddit ad group's targeting and schedulePUTPause or resume a single ad setGETGet campaign treeGETGet daily account metricsGETGet ad detailsPUTUpdate adDELCancel an adPUTPause or resume a single adGETList campaign assetsPOSTAttach campaign assetsPUTUpdate campaign assetsDELRemove campaign assetsGETList ad-group assetsPOSTAttach ad-group assetsPUTUpdate ad-group assetsDELRemove ad-group assetsGETRead the platform's review verdict for an adGETReview status of each creative in a TikTok Smart+ adGETList ads that need attentionPOSTDismiss an ads alertGETReview status of every TikTok Smart+ ad of an advertiserGETList campaign negative listsPUTReplace campaign negative listsPOSTBoost post as adGETList Performance Max asset groupsPOSTCreate a Performance Max asset groupGETGet a Performance Max asset groupPATCHUpdate a Performance Max asset groupDELRemove a Performance Max asset groupPOSTLink or unlink asset group assetsPUTReplace an asset group's listing-group treePOSTCreate standalone adGETGet campaign conversion goalsPATCHUpdate campaign conversion goals