API Changelog (5.23.0 → 5.28.0)
Client-Impacting Breaking Changes Only
Ad Accounts
POST /ad_accounts/{ad_account_id}/reports
⚠️ added the new required request propertyend_date⚠️ added the new required request propertygranularity⚠️ added the new required request propertystart_date
POST /ad_accounts/{ad_account_id}/mmm_reports
⚠️ removed the enum valueAD_GROUP_TARGETINGof the request propertylevel⚠️ removed the enum valueCAMPAIGN_TARGETINGof the request propertylevel⚠️ removed the enum valueDAYof the request propertygranularity⚠️ removed the enum valueWEEKof the request propertygranularity⚠️ removed the optional propertycodefrom the response with the 200 status⚠️ removed the optional propertydatafrom the response with the 200 status
GET /ad_accounts/{ad_account_id}/mmm_reports
⚠️ removed the optional propertycodefrom the response with the 200 status⚠️ removed the optional propertydatafrom the response with the 200 status
POST /ad_accounts/{ad_account_id}/reports/brand_category_sku
⚠️ removed the enum valueADVERTISERof the request propertylevel⚠️ removed the enum valueAD_GROUPof the request propertylevel⚠️ removed the enum valueCAMPAIGNof the request propertylevel⚠️ removed the enum valueMONTHof the request propertygranularity⚠️ removed the enum valueTOTALof the request propertygranularity⚠️ removed the enum valueWEEKof the request propertygranularity⚠️ removed the enum valueBRAND_ATTRIBUTIONof the request propertyconversion_product_attribution_type⚠️ removed the enum valueDEFAULTof the request propertyconversion_product_attribution_type⚠️ thereport_statusresponse's property type/format changed fromstring/to/`` for status 200
GET /ad_accounts/{ad_account_id}/templates
⚠️ the response's body type/format changed from/toobject/`` for status 200
Ad Groups
POST /ad_accounts/{ad_account_id}/ad_groups
⚠️ added the new required request property/items/billable_event⚠️ added the new required request property/items/campaign_id⚠️ added the new required request property/items/name
PATCH /ad_accounts/{ad_account_id}/ad_groups
⚠️ added the new required request property/items/id
GET /ad_accounts/{ad_account_id}/ad_groups
⚠️ the response's body type/format changed from/toobject/`` for status 200
POST /ad_accounts/{ad_account_id}/bid_floor
⚠️ removed the enum valueCLICKTHROUGHof the request propertybid_floor_specs/items/billable_event⚠️ removed the enum valueIMPRESSIONof the request propertybid_floor_specs/items/billable_event⚠️ removed the enum valueVIDEO_V_50_MRCof the request propertybid_floor_specs/items/billable_event⚠️ removed the enum valueAWARENESSof the request propertybid_floor_specs/items/objective_type⚠️ removed the enum valueCATALOG_SALESof the request propertybid_floor_specs/items/objective_type⚠️ removed the enum valueCONSIDERATIONof the request propertybid_floor_specs/items/objective_type⚠️ removed the enum valueVIDEO_COMPLETIONof the request propertybid_floor_specs/items/objective_type⚠️ removed the enum valueWEB_CONVERSIONof the request propertybid_floor_specs/items/objective_type⚠️ removed the enum valueCAROUSELof the request propertybid_floor_specs/items/creative_type⚠️ removed the enum valueCOLLAGEof the request propertybid_floor_specs/items/creative_type⚠️ removed the enum valueCOLLECTIONof the request propertybid_floor_specs/items/creative_type⚠️ removed the enum valueIDEAof the request propertybid_floor_specs/items/creative_type⚠️ removed the enum valueMAX_VIDEOof the request propertybid_floor_specs/items/creative_type⚠️ removed the enum valueQUIZof the request propertybid_floor_specs/items/creative_type⚠️ removed the enum valueREGULARof the request propertybid_floor_specs/items/creative_type⚠️ removed the enum valueSHOPPINGof the request propertybid_floor_specs/items/creative_type⚠️ removed the enum valueSHOP_THE_PINof the request propertybid_floor_specs/items/creative_type⚠️ removed the enum valueSHOWCASEof the request propertybid_floor_specs/items/creative_type⚠️ removed the enum valueVIDEOof the request propertybid_floor_specs/items/creative_type⚠️ removed all individual currency enum values (USD, EUR, GBP, etc.) of the request propertybid_floor_specs/items/currency⚠️ removed the request propertytargeting_spec/AGE_BUCKET⚠️ removed the request propertytargeting_spec/APPTYPE⚠️ removed the request propertytargeting_spec/AUDIENCE_EXCLUDE⚠️ removed the request propertytargeting_spec/AUDIENCE_INCLUDE⚠️ removed the request propertytargeting_spec/GENDER⚠️ removed the request propertytargeting_spec/GEO⚠️ removed the request propertytargeting_spec/INTEREST⚠️ removed the request propertytargeting_spec/LOCALE⚠️ removed the request propertytargeting_spec/LOCATION⚠️ removed the request propertytargeting_spec/MAXIMUM_AGE⚠️ removed the request propertytargeting_spec/MINIMUM_AGE⚠️ removed the request propertytargeting_spec/SHOPPING_RETARGETING⚠️ removed the request propertytargeting_spec/TARGETING_STRATEGY
Ads
POST /ad_accounts/{ad_account_id}/ads
⚠️ added the new required request property/items/ad_group_id⚠️ added the new required request property/items/creative_type⚠️ added the new required request property/items/pin_id
PATCH /ad_accounts/{ad_account_id}/ads
⚠️ added the new required request property/items/id
GET /ad_accounts/{ad_account_id}/ads
⚠️ the response's body type/format changed from/toobject/`` for status 200
Advanced Auction
POST /advanced_auction/items/get
⚠️ added the new required request propertyitems/items/country⚠️ added the new required request propertyitems/items/item_id⚠️ added the new required request propertyitems/items/language⚠️ thecatalog_idrequest property type/format changed fromstring/to/``⚠️ theitems/items/request property type/format changed from/toobject/``⚠️ thecatalog_idresponse's property type/format changed fromstring/to/`` for status 200⚠️ theitems/items/response's property type/format changed from/toobject/`` for status 200
POST /advanced_auction/items/submit
⚠️ added the new required request propertyitems/items/oneOf[.../AdvancedAuctionItemsSubmitDeleteRecord]/country⚠️ added the new required request propertyitems/items/oneOf[.../AdvancedAuctionItemsSubmitDeleteRecord]/item_id⚠️ added the new required request propertyitems/items/oneOf[.../AdvancedAuctionItemsSubmitDeleteRecord]/language⚠️ added the new required request propertyitems/items/oneOf[.../AdvancedAuctionItemsSubmitDeleteRecord]/operation⚠️ added the new required request propertyitems/items/oneOf[.../AdvancedAuctionItemsSubmitUpsertRecord]/bid_options⚠️ added the new required request propertyitems/items/oneOf[.../AdvancedAuctionItemsSubmitUpsertRecord]/country⚠️ added the new required request propertyitems/items/oneOf[.../AdvancedAuctionItemsSubmitUpsertRecord]/item_id⚠️ added the new required request propertyitems/items/oneOf[.../AdvancedAuctionItemsSubmitUpsertRecord]/language⚠️ added the new required request propertyitems/items/oneOf[.../AdvancedAuctionItemsSubmitUpsertRecord]/operation⚠️ added the new required request propertyitems/items/oneOf[.../AdvancedAuctionItemsSubmitUpsertRecord]/update_mask⚠️ thecatalog_idrequest property type/format changed fromstring/to/``⚠️ the delete/upsert record items request property type/format changed from/toobject/``⚠️ removed the required propertyitems/items/operationfrom the response with the 200 status⚠️ removed the required propertyitems/items/operationfrom the response with the 206 status⚠️ thecatalog_idresponse's property type/format changed fromstring/to/`` for status 200⚠️ thecatalog_idresponse's property type/format changed fromstring/to/`` for status 206⚠️ the delete/upsert record items response's property type/format changed from/toobject/`` for status 200 and 206
Audience Sharing
PATCH /ad_accounts/{ad_account_id}/audiences/ad_accounts/shared
PATCH /businesses/{business_id}/audiences/ad_accounts/shared
⚠️ added the new required request propertyaudience_id⚠️ added the new required request propertyoperation_type⚠️ added the new required request propertyrecipient_account_ids
PATCH /ad_accounts/{ad_account_id}/audiences/businesses/shared
PATCH /businesses/{business_id}/audiences/businesses/shared
⚠️ added the new required request propertyaudience_id⚠️ added the new required request propertyoperation_type⚠️ added the new required request propertyrecipient_business_ids
GET /ad_accounts/{ad_account_id}/audiences/shared/accounts
GET /businesses/{business_id}/audiences/shared/accounts
⚠️ the response's body type/format changed from/toobject/`` for status 200
GET /businesses/{business_id}/audiences
⚠️ the response's body type/format changed from/toobject/`` for status 200
Audiences
GET /ad_accounts/{ad_account_id}/audiences
⚠️ the response's body type/format changed from/toobject/`` for status 200
Billing
GET /ad_accounts/{ad_account_id}/ads_credit/discounts
GET /ad_accounts/{ad_account_id}/billing_profiles
⚠️ the response's body type/format changed from/toobject/`` for status 200
GET /ad_accounts/{ad_account_id}/billing_invoices
⚠️ the response's body type/format changed from/toobject/`` for status 200
GET /ad_accounts/{ad_account_id}/ssio/insertion_orders/status
GET /ad_accounts/{ad_account_id}/ssio/order_lines
⚠️ the response's body type/format changed from/toobject/`` for status 200
Boards
GET /boards/{board_id}/pins
⚠️ the response's body type/format changed from/toobject/`` for status 200
GET /boards/{board_id}/sections
⚠️ the response's body type/format changed from/toobject/`` for status 200
GET /boards/{board_id}/sections/{section_id}/pins
⚠️ the response's body type/format changed from/toobject/`` for status 200
Bulk
POST /ad_accounts/{ad_account_id}/bulk/upsert
⚠️ added the new required request propertyupdate/campaigns/items/allOf[subschema #3 -> subschema #1]/bid_options/update_mask⚠️ added the new required request propertyupdate/labels/items/parent_id⚠️ the request propertyupdate/labels/items/statusbecame required⚠️ the request propertycreate/product_groups/items/product_group_promotion/items/bid_in_micro_currencybecame not nullable⚠️ the request propertycreate/product_groups/items/product_group_promotion/items/catalog_product_group_idbecame not nullable⚠️ the request propertycreate/product_groups/items/product_group_promotion/items/catalog_product_group_namebecame not nullable⚠️ the request propertycreate/product_groups/items/product_group_promotion/items/customizable_cta_typebecame not nullable⚠️ the request propertycreate/product_groups/items/product_group_promotion/items/definitionbecame not nullable⚠️ the request propertycreate/product_groups/items/product_group_promotion/items/includedbecame not nullable⚠️ the request propertycreate/product_groups/items/product_group_promotion/items/is_mdlbecame not nullable⚠️ the request propertycreate/product_groups/items/product_group_promotion/items/parent_idbecame not nullable⚠️ the request propertycreate/product_groups/items/product_group_promotion/items/relative_definitionbecame not nullable⚠️ the request propertycreate/product_groups/items/product_group_promotion/items/tracking_urlbecame not nullable⚠️ the request propertycreate/labels/items/labels/items/label_typebecame not nullable⚠️ removed the request propertyupdate/labels/items/value
Business Access Assets
GET /businesses/{business_id}/assets
GET /businesses/{business_id}/assets/{asset_id}/members
GET /businesses/{business_id}/assets/{asset_id}/partners
⚠️ the response's body type/format changed from/toobject/`` for status 200
GET /businesses/{business_id}/members/{member_id}/assets
⚠️ the response's body type/format changed from/toobject/`` for status 200
GET /businesses/{business_id}/partners/{partner_id}/assets
⚠️ the response's body type/format changed from/toobject/`` for status 200
Business Access Invite
PATCH /businesses/invites
⚠️ theitems/items/inviteresponse's property type/format changed fromobject/to/`` for status 200⚠️ removed the optional propertyitems/items/invite/idfrom the response with the 200 status⚠️ removed the optional propertyitems/items/invite/invite_datafrom the response with the 200 status⚠️ removed the optional propertyitems/items/invite/is_received_invitefrom the response with the 200 status⚠️ removed the optional propertyitems/items/invite/userfrom the response with the 200 status
GET /businesses/{business_id}/invites
⚠️ the response's body type/format changed from/toobject/`` for status 200
POST /businesses/{business_id}/invites
⚠️ removed the enum valueBIZ_ADMINof the request propertybusiness_role⚠️ removed the enum valueEMPLOYEEof the request propertybusiness_role⚠️ removed the enum valuePARTNERof the request propertybusiness_role⚠️ thebusiness_rolerequest property type/format changed fromstring/to/``
Business Access Relationships
GET /businesses/employers
⚠️ the response's body type/format changed from/toobject/`` for status 200
GET /businesses/{business_id}/members
⚠️ the response's body type/format changed from/toobject/`` for status 200
GET /businesses/{business_id}/partners
⚠️ the response's body type/format changed from/toobject/`` for status 200
Campaigns
POST /ad_accounts/{ad_account_id}/campaigns
⚠️ added the new required request property/items/name⚠️ added the new required request property/items/objective_type⚠️ theitems/items/dataresponse's property type/format changed fromobject/to/`` for status 200
PATCH /ad_accounts/{ad_account_id}/campaigns
⚠️ added the new required request property/items/id
GET /ad_accounts/{ad_account_id}/campaigns
⚠️ the response's body type/format changed from/toobject/`` for status 200
Catalog Feeds
GET /catalogs/feeds
⚠️ the response's body type/format changed from/toobject/`` for status 200
POST /catalogs/feeds
⚠️ the request propertypreferred_processing_schedule/timezonebecame not nullable (all feed type variants)⚠️ all IANA timezone enum values were removed frompreferred_processing_schedule/timezone(all feed type variants); replaced with#/components/schemas/CatalogsFeedProcessingScheduleTimezoneallOf reference
Excluded From This Summary (Non-Breaking)
- Newly documented 401/403/404/429 error responses
- New optional request or response fields
- New enum values added to existing fields
- Fields becoming read-only
- Schema component reshuffling without functional impact
- Pattern relaxations (e.g., removed
^\d+$constraints) - Default value removals on optional parameters