Released July 8, 2015 | Available until October 9, 2017
In v2.4 we expose a set of new Page Video metrics, such as page_video_views_paid
, page_video_views_autoplayed
, and page_video_views_organic
available from the Graph API via GET /v2.4/{page_id}/insights/?metric={metric}
. These metrics require the read_insights
permission.
The Video
node now contains the following fields in GET|POST
operations to /v2.4/{video_id}
:
content_category
which supports categorizing a video during video upload, and can be used for suggested videos. Content categories include: Business, Comedy, Lifestyle, etc and a full list of categories can be viewed on the Video
node docs page.unpublished_content_type
will expose 3 new types (Scheduled, Draft, and Ads_Post) which will help coordinate how the video is posted.expiration
and expiration_type
allows the video expiration time to be set, along with the type (hide, delete).embeddable
boolean flag is now available to control if 3rd party websites can embed your video. We've simplified how you access content on a person's Timeline. Instead of handling different object types for statues and links, the API now returns a standardized Post node with attachments which represent the type of content that was shared. For more details view the User reference docs.
admin_creator
object of a Post in now requires a Page access token.POST /v2.4/{page_id}/offers
and DELETE /v2.4/{offer_id}
now require a Page access token with manage_pages
and publish_pages
permissions.GET /v2.4/{page_id}/milestones
, POST /v2.4/{milestone_id}
, and DELETE /v2.4/{milestone_id}
now require a Page access token with manage_pages
and publish_pages
permission. Page
node GET /v2.4/{page_id}/promotable_posts
now require a user access token with ads_management
permission or a Page access token.global_brand_parent_page
object has been renamed to global_brand_root_id
.GET /v2.4/{global_brand_default_page_id/insights
will now return only insights of the default Page insight data, instead of the insights for the Global Brand hierarchy. Use the Root Page ID to retrieve the integrated insights of the whole hierarchy.GET|POST /v2.4/{page_id}/promotable_posts
has renamed the field is_inline
to include_inline
.limit=100
. This will impact GET
operations made on the feed
, posts
, and promotable_posts
edges.The default pagination ordering of GET {user-id}/events
now begins with the newest event first, and is ordered in reverse chronological order.
Graph API v2.4 now supports filtering of GET /v2.4/{user_id}/accounts
with new boolean fields:
is_promotable
filter results by ones that can be promoted.is_business
filter results associated with a Business Manager.is_place
Include Place as results filter.To try to improve performance on mobile networks, Nodes and Edges in v2.4 requires that you explicitly request the field(s) you need for your GET
requests. For example, GET /v2.4/me/feed
no longer includes likes and comments by default, but GET /v2.4/me/feed?fields=comments,likes
will return the data. For more details see the docs on how to request specific fields.
GET /v2.4/{id}/links
and GET /v2.4/{id}/statuses
will no longer be available beginning in v2.4. As an alternative, we suggest using GET /v2.4/{id}/feed
.GET|POST /v2.4/{page_id}/?fields=global_brand_parent_page
is being deprecated in this version and replaced by /v2.4/{page_id}/?fields=global_brand_root_id
.GET|POST /v2.4/{page_id}/global_brand_default_page_id/global_brand_children
will no longer function in v2.4. As an alternative, please use the root page ID.GET /v2.4/{page_id}/promotable_posts
will no longer support the filter and type params in v2.4. For example, a call to GET /v2.4/{page_id}/promotable_posts?type=STATUS
will return an empty result set.Event
node no longer supports GET
operations on the endpoints /v2.4/{event_id}/invited
, /v2.4/{event_id}/likes
, or /v2.4/{event_id}/sharedposts
.GET /v2.4/{user_id}/home
, GET /v2.4/{user_id}/inbox
, and GET /v2.4/{user_id}/notifications
operations as well as read_stream
, read_mailbox
, and manage_notifications
permissions are deprecated in v2.4. user_groups
permission has been deprecated. Developers may continue to use the user_managed_groups
permission to access the groups a person is the administrator of. This information is still accessed via the /v2.4/{user_id}/groups
edge which is still available in v2.4. GET /v2.4/{event_id}/?fields=privacy
is deprecated in v2.4.GET /v2.4/{event_id}/?fields=feed_targeting
is deprecated in v2.4.GET /v2.4/{event_id}/?fields=is_date_only
is deprecated in v2.4.From October 6, 2015 onwards, in all previous API versions, these endpoints will return empty arrays, the permissions will be ignored if requested in the Login Dialog, and will not be returned in calls to the /v2.4/me/permissions
endpoint.
Released July 8, 2015 | Available until April 11, 2016
Version v2.3
(formerly known as Ads API) will be available until October 7, 2015. Before that date, you should migrate your API calls to v2.4
.
A new API that lets developers tag campaigns/adsets/ads/creatives with arbitrary strings (“labels”) and organize/group their ad objects. The Labels API also allows querying adobjects by labels, including AND/OR queries, and query aggregated Insights by label. Now it is possible to answer questions like “how many clicks did all adsets with the 'US-country' label get?”
Added a new field 'app_install_state' in the ad set's targeting which takes a enum value of {installed, not_installed}. This field is intended to make inclusion/exclusion targeting for apps easier. The field can be used for any objective, but will only take effect if a promoted object is present.
optimization_goal
: What the advertiser is optimizing for (video_views, link_clicks, etc...)billing_event
(required): What the advertiser is paying by (pay per impression, pay per link click, pay per video view etc...)bid_amount
: The value the advertiser is bidding per optimization goalrtb_flag
which should be used in favor of bid_type=CPM_RTB.bid_amount
: The value the advertiser is bidding per optimization goalbid_info
: will be removed on all write paths but can still be read. Use ad set's bid_amount field instead.bid_type
bid_info
: will be removed on all write paths but can still be read. Use ad's bid_amount
field instead.conversion_specs
: will be removed on all write paths but can still be read. Use ad set's optimization_goal field instead.is_autobid
v2.3
terms, CPA for Page Post Engagement).v2.3
- definition of CPC will be represented in v2.4
as having billing_event=POST_ENGAGEMENT
and optimization_goal=POST_ENGAGEMENT
page_types
into an array of single items, e.g. Instead of page_types:['desktop-and-mobile-and-external']
you would specify: page_types=['desktopfeed', 'rightcolumn', 'mobilefeed', 'mobileexternal']
. The previously available groupings of page_types and validations remain the same.['mobile']
or ['mobilefeed-and-external']
must now be replaced with ['mobilefeed', 'mobileexternal']
targeting
of an ad set, by default Facebook will include Audience Network page_types
, and may include other page_types
without notice in the future.conjunctive_user_adclusters
and excluded_user_adclusters
in favor of flexible targetingact_{AD_ACCOUNT_ID}/connectionobjects
will no longer return connections based on advertiser email.status
field. Developers should instead use last_firing_time
subtype
will become a required parameter in custom audience and lookalike creation{ "tos_accepted": { "206760949512025": 1, "215449065224656": 1 }
, return "tos_accepted": {"web_custom_audience_tos": 1, "custom_audience_tos": 1 }
daily_spend_limit
from ad accountspend_cap
type change from uint32 to numeric stringDAILY_BUDGET, BUDGET_REMAINING, LIFETIME_BUDGET
type change from uint32 to numeric stringFor the full list of Graph API changes, refer to the Graph API changelog.