Correction April 21: As of v11, the start_time and end_time parameters on the Campaigns endpoint have been deprecated as part of the Line Item changes. This is because we moved these parameters from the campaign level to the line item level.
Starting today, March 31, 2022, version 11 (v11) of the Twitter Ads API is available to all developers. This release includes new Card editing functionality, Line Item updates, and continues to improve parity with Twitter Ads Manager.
As with our previous versions, there will be a 6 month transition period to migrate to v10. On October 4, 2022, the existing version 10 (v10) of the Ads API will no longer be available. We encourage all developers to migrate to the latest version of the Ads API as soon as possible to avoid any service disruptions.
Note: As of this release, Version 9 (v9) of the Ads API has reached its end of life and is no longer available.
What’s new:
[NEW] Card PUT and DELETE endpoints
- Engineering Effort: High
- Most relevant to: developers offering campaign management, ad buying, or creative services
The new Cards endpoints, PUT and DELETE, are now globally available. This is an exciting update, as it enables Card editing for our new JSON-based Cards endpoint. The PUT endpoint will allow advertisers to manage Card details such as Card name, URL, or media. Full details in our documentation.
As a reminder, the new JSON-based endpoints allow developers to build Cards using components rather than working with Card-specific resources. We previously shared a related update on these endpoints.
What’s changing:
[CHANGED] Back-end improvements to targeting_suggestions for USER_ID
- Engineering Effort: None
- Most relevant to: developers offering campaign management, ad buying, or audience services
The back-end system for returning USER_ID has been updated.
This helps improve the quality of recommendations provided by the targeting_suggestions endpoint, which in turn can help improve the targeting options available for advertisers.
[CHANGED] Audience expiration validation rule
- Engineering Effort: Low
- Most relevant to: developers offering campaign management, ad buying, or audience services
There is a new validation rule based on a 13 month audience expiration date. This will require the expires_at parameter to either be not set or set with a timestamp that is less than 13 months from the request timestamp.
As of v11, requests that include an expires_at timestamp beyond this 13 month timeframe will result in an error. If you have not already, adopt a more regular updating cadence to prevent Audiences from expiring.
Note: v10 will not show an error. However, we will overwrite any expires_at timestamps greater than 13 months to equal 13 months. 13 months is the maximum allowable value for expires_at at this time.
[CHANGED] Line Item budget changes
- Engineering Effort: Low
- Most relevant to: developers offering campaign management or ad buying services
Correction April 21: As of v11, the start_time and end_time parameters on the Campaigns endpoint have been deprecated. This is because we moved these parameters from the campaign level to the line item level.
This release is related to our plans to add utility to our Line Item capabilities in the future. The goal is to allow advertisers to allocate daily budgets in a way that can give them more control to meet the specific requirements of their campaigns.
Below are a series of changes introduced in v11, related to the Line Items endpoint:
- For v11 and above: Added a new
budget optimization parameter. This is optional.
- Updated the parameter
daily_budget_amount_local_micro. This parameter is still required when budget optimization is CAMPAIGN.
Key notes related to this update:
- If you have not yet upgraded to v11, you may begin to see
start_time and end_time even if previously not set. If the Line Item start_time and end_timeis null, the values that will appear will be the same as the campaignstart_time and end_time. The serving of these campaigns are not affected.
- If you have not yet upgraded to v11, updating the campaign
start_time and end_timewill not change the new line itemstart_time and end_time.
[CHANGED] Returning all endpoint IDs as strings
- Engineering Effort: Low
- Most relevant to: developers offering campaign management or ad buying services
To help maintain consistency across our endpoints, the updates from v11 will ensure all ID fields are returned and represented as strings.
Alongside this update, we have also removed all _id_str fields.
Read more about Twitter IDs here.
What’s being removed:
[DEPRECATED] pay_by_impression account feature key
- Engineering Effort: Low
- Most relevant to: all developers
The pay_by_impression account feature key has been removed in v11 as it is no longer needed.
[DEPRECATED] Legacy Website and App card endpoints
- Engineering Effort: Low
- Most relevant to: developers offering campaign management, ad buying, or creative services
We have officially deprecated our legacy Website and App Card endpoints. These are:
With Card editing now available in the new JSON-based endpoints, we have now reached parity with our legacy endpoint functionality. Therefore, these legacy endpoints have been deprecated.
Refer to previous communication about legacy Website and App Card endpoints here.
[DEPRECATED] Direct Message Cards endpoints
- Engineering Effort: Low
- Most relevant to: developers offering campaign management, ad buying, or creative services
We are continuing our efforts to build a more consistent Ads API. This often means making tradeoffs on products to focus on, to better support the Ads API.
The Direct Message Cards endpoints were seeing declining usage. We made the decision to not migrate this format to our new Cards endpoint at this time, as a result of this low usage, as of v11.
This change lets us focus more on the products that will drive value for you and your customers
Note: Direct Message Cards endpoints will still be available in v10.
Please let us know if you have any questions.
Twitter Ads API team