Skip to main content

API Reference

This is the full technical reference. For an overview of campaigns, line items, budgeting, targeting concepts, and a step-by-step getting started guide, see the Campaign Management Overview.

Accounts

GET accounts

Retrieve details for some or all advertising-enabled accounts the authenticating user has access to. Resource URL https://ads-api.x.com/12/accounts Parameters

Example Request

Example Response

GET accounts/:account_id

Retrieve a specific account that the authenticating user has access to. Resource URL https://ads-api.x.com/12/accounts/:account_id Parameters Example Request GET https://ads-api.x.com/12/accounts/18ce54d4x5t Example Response

POST accounts

Note: SANDBOX ONLY Create an ads account in the sandbox environment. Resource URL https://ads-api-sandbox.x.com/12/accounts Parameters None Example Request POST https://ads-api-sandbox.x.com/12/accounts Example Response

PUT accounts/:account_id

Updates the account name and/or industry type. Resource URL https://ads-api.x.com/12/accounts/:account_id Parameters Example Request PUT https://ads-api.x.com/12/accounts/18ce54d4x5t?name='API McTestface 2'&industry_type=TECHNOLOGY Example Response

DELETE accounts/:account_id

Note: SANDBOX ONLY Delete an ads account in the sandbox environment. Resource URL https://ads-api-sandbox.x.com/12/accounts/:account_id Parameters Example Request DELETE https://ads-api-sandbox.x.com/12/accounts/gq12fh Example Response

Account Apps

Run in Postman ❯

GET account_apps

Retrieve details for all mobile apps that are associated with the specified ad account. Resource URL https://ads-api.x.com/12/accounts/:account_id/account_apps Parameters Example Request GET https://ads-api.x.com/12/accounts/18ce54d4x5t/account_apps Example Response

Account History

GET accounts/:account_id/account_history

Retrieve a summary of changes made to the entity_id specified in the request. Note: This endpoint is currently in beta and requires allowlisting. Resource URL https://ads-api.x.com/12/accounts/:account_id/account_history Parameters Example Request GET https://ads-api.x.com/12/accounts/18ce54d4x5t/account_history?entity_type=CAMPAIGN&entity_id=fc3h5&count=1 Example Response

Advertiser Business Categories

GET advertiser_business_categories

Request the valid advertiser business categories for Ad Groups (line_items) to describe an advertiser’s brand to publishers. Note: These categories apply only to line_items with the PREROLL_VIEWS objective and are separate from the content_categories used for targeting criteria. Each advertiser_business_categories represents a collection of IAB Categories. When creating an Ad Group with the PREROLL_VIEWS objective, one or two advertiser_business_categories must be set for the Ad Group. This can be done by setting the value of the categories request parameter on the line item endpoint to the set of corresponding iab_categories available through this endpoint. Additional details can be found in the Video Views Preroll Objective Guide Resource URL https://ads-api.x.com/12/advertiser_business_categories Parameters No request parameters Example Request GET https://ads-api.x.com/12/advertiser_business_categories Example Response

Audience Estimate

POST accounts/:account_id/audience_estimate

Determine the approximate audience size of your campaigns.

This endpoint accepts an array of JSON objects containing the parameters for the targeting criteria objects. A list of required and optional targeting criteria parameters are available on the POST accounts/:account_id/targeting_criteria endpoint. Requests must be HTTP POST with a JSON content body with a Content-Type: application/json header. Note: It is required that you specify at least one primary targeting criterion; you can see a list of all primary targeting criteria in our campaigns targeting page. Resource URL https://ads-api.x.com/12/accounts/:account_id/audience_estimate Parameters Example Request POST https://ads-api.x.com/12/accounts/18ce54d4x5t/audience_estimate
Example Response

Authenticated User Access

GET accounts/:account_id/authenticated_user_access

Retrieve the permissions of the currently authenticated user (access_token) as they relate to the specified ads account. These permissions match those exposed on ads.x.com. Possible values include:
  • ACCOUNT_ADMIN: Full access to modify campaigns and view stats, including the ability to add or remove users and change settings
  • AD_MANAGER: Full access to modify campaigns and view stats, but cannot add or remove users or change settings
  • CREATIVE_MANAGER: Access to modify creatives and view previews, but no access to create or modify campaigns
  • CAMPAIGN_ANALYST: Access to view campaigns and view stats, but no access to create or modify campaigns
  • ANALYST (“Organic Analyst” on ads.x.com): Access to view organic analytics and audience insights, but no access to create, modify, or view campaigns
  • PARTNER_AUDIENCE_MANAGER: API-only access to view and modify data partner audiences, but no access to campaigns, creatives, or other audience types.
In addition, the TWEET_COMPOSER permission indicates that the authenticated user can create nullcasted (or “Promoted-only”) Tweets on behalf of the advertiser. This is only available for users with ACCOUNT_ADMIN, AD_MANAGER, or CREATIVE_MANAGER access. Resource URL https://ads-api.x.com/12/accounts/:account_id/authenticated_user_access Parameters None Example Request GET https://ads-api.x.com/12/accounts/18ce54d4x5t/authenticated_user_access Example Response

Bidding Rules

GET bidding_rules

Retrieve the bidding rules for some or all currencies. The response will indicate the minimum and maximum CPE (cost-per-engagement) bids. While these bidding rules change rarely, it is suggested that your systems refresh from these endpoints at least monthly. Resource URL https://ads-api.x.com/12/bidding_rules Parameters Example Request GET https://ads-api.x.com/12/bidding_rules?currency=USD Example Response

Campaigns

GET accounts/:account_id/campaigns

Retrieve details for some or all campaigns associated with the current account. Resource URL https://ads-api.x.com/12/accounts/:account_id/campaigns Parameters Example Request GET https://ads-api.x.com/12/accounts/18ce54d4x5t/campaigns?campaign_ids=8wku2 Example Response

GET accounts/:account_id/campaigns/:campaign_id

Retrieve a specific campaign associated with the current account. Resource URL https://ads-api.x.com/12/accounts/:account_id/campaigns/:campaign_id Parameters Example Request GET https://ads-api.x.com/12/accounts/18ce54d4x5t/campaigns/8wku2 Example Response

POST accounts/:account_id/campaigns

Create a new campaign associated with the current account. Note: There is a default limit of 200 active campaigns per account. However, there is no limit to the number of inactive campaigns. This limit can be raised to 8,000 active campaigns. To enable the higher limit, the advertiser must make the request to their X Account Manager. Resource URL https://ads-api.x.com/12/accounts/:account_id/campaigns Parameters Example Request POST https://ads-api.x.com/12/accounts/18ce54d4x5t/campaigns?funding_instrument_id=lygyi&name=demo&daily_budget_amount_local_micro=140000000&entity_status=PAUSED&budget_optimization=CAMPIAGN&standard_delivery=false Example Response

POST batch/accounts/:account_id/campaigns

Allows the batch creation of new campaigns with a single request. Batch Requests
  • The current maximum batch size is 40.
  • All parameters are sent in the request body and a Content-Type of application/json is required.
  • Batch requests fail or succeed together as a group and all API responses for both error and success preserve the item order of the initial request.
Batch Responses Batch API responses return an ordered collection of items. Otherwise, they are identical in structure to their corresponding single-item endpoints. Batch Errors
  • Request-level errors (eg. max batch size exceeded) are shown in the response under the errors object.
  • Item-level errors (eg. missing required campaign parameter) are shown in the response under the operation_errors object.
Resource URL https://ads-api.x.com/12/batch/accounts/:account_id/campaigns Parameters Example Request POST 'Content-Type: application/json' https://ads-api.x.com/12/batch/accounts/18ce54d4x5t/campaigns
Example Response

PUT accounts/:account_id/campaigns/:campaign_id

Update the specified campaign associated with the current account. Resource URL https://ads-api.x.com/12/accounts/:account_id/campaigns/:campaign_id Parameters Example Request PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/campaigns/8wku2?total_budget_amount_local_micro=140000000 Example Response

DELETE accounts/:account_id/campaigns/:campaign_id

Delete the specified campaign belonging to the current account. Note: Deleting a campaign is not reversible and subsequent attempts to delete the resource will return HTTP 404. Resource URL https://ads-api.x.com/12/accounts/:account_id/campaigns/:campaign_id Parameters Example Request DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/campaigns/8yn7m Example Response

Content Categories

GET content_categories

Request the valid content categories to be set as targeting_criteria for a line item. Each content_category maps to one or more IAB Categories. This can be done by setting the targeting_type to IAB_CATEGORY on the batch targeting_critera endpoint to include the set of corresponding iab_categories returned by the content_categories request. Failure to do so will result in a validation error. Publisher details for each of these content categories can be retrieved using the GET publishers endpoint. Additional details can be found in the Video Views Pre-roll Objective Guide. Resource URL https://ads-api.x.com/12/content_categories Parameters No request parameters Example Request GET https://ads-api.x.com/12/content_categories Example Response

Curated Categories

GET accounts/:account_id/curated_categories

Retrieve a list of available Curated Categories for the given country_codes Each curated_category is only available in specific countries specified by the country_codes in the response. Additional details can be found in the Video Views Pre-roll Objective Guide. Resource URL https://ads-api.x.com/12/accounts/:account_id/curated_categories Parameters Example Request GET https://ads-api.x.com/12/accounts/18ce54d4x5t/curated_categories?country_codes=US Example Response

GET accounts/:account_id/curated_categories/:curated_category_id

Retrieve details for a specific curated_category_id Each curated_category is only available in specific countries specified by the country_codes in the response. Resource URL https://ads-api.x.com/12/accounts/:account_id/curated_categories/:curated_category_id Parameters Example Request GET https://ads-api.x.com/12/accounts/18ce54d4x5t/curated_categories/9ddrgesiap6o Example Response

Features

GET accounts/:account_id/features

Retrieve the collection of granted features accessible by this ads account. Features are indicated by a descriptive feature key and are only exposed on this endpoint if they are introduced in beta or an otherwise limited release and are available in the Ads API. Features that do not meet this criteria will not be exposed on this endpoint. Note: This endpoint serves to aid Ads API ecosystem development by improving visibility into client access to beta releases. API developers can not request access to features on behalf of an advertiser. These requests can only be made by the advertiser to their X account manager. Resource URL https://ads-api.x.com/12/accounts/:account_id/features Parameters Example Request GET https://ads-api.x.com/12/accounts/18ce54d4x5t/features Example Response

POST accounts/:account_id/features

SANDBOX ONLY Add a feature to a sandbox account. The up to date list of account features may be retrieved via the GET accounts/:account_id/features endpoint. Resource URL https://ads-api-sandbox.x.com/12/accounts/:account_id/features Parameters Example Request POST https://ads-api-sandbox.x.com/12/accounts/gq180y/features?feature_keys=VALIDATED_AGE_TARGETING Example Response

DELETE accounts/:account_id/features

SANDBOX ONLY Remove a feature from a sandbox account. The up to date list of account features may be retrieved via the GET accounts/:account_id/features endpoint. Resource URL https://ads-api-sandbox.x.com/12/accounts/:account_id/features Parameters Example Request DELETE https://ads-api-sandbox.x.com/12/accounts/gq180y/features?feature_keys=PREROLL_VIEWS_OBJECTIVE Example Response

Funding Instruments

GET accounts/:account_id/funding_instruments

Retrieve details for some or all funding instruments associated with the current account. Resource URL https://ads-api.x.com/12/accounts/:account_id/funding_instruments Parameters Example Request GET https://ads-api.x.com/12/accounts/18ce54d4x5t/funding_instruments Example Response

GET accounts/:account_id/funding_instruments/:funding_instrument_id

Retrieve a specific funding instrument associated with the current account. Resource URL https://ads-api.x.com/12/accounts/:account_id/funding_instruments/:id Parameters Example Request GET https://ads-api.x.com/12/accounts/18ce54d4x5t/funding_instruments/lygyi Example Response

POST accounts/:account_id/funding_instruments

SANDBOX ONLY Create a funding instrument in the sandbox environment. There is no risk of incurring costs while using a sandbox funding instrument. Resource URL https://ads-api-sandbox.x.com/12/accounts/:account_id/funding_instruments Parameters Example Request POST https://ads-api-sandbox.x.com/12/accounts/gq1844/funding_instruments?currency=USD&start_time=2017-07-10T00:00:00Z&type=INSERTION_ORDER&end_time=2018-01-10T00:00:00Z&funded_amount_local_micro=140000000000 Example Response

DELETE accounts/:account_id/funding_instruments/:funding_instrument_id

SANDBOX ONLY Delete a funding instrument in the sandbox environment. Resource URL https://ads-api-sandbox.x.com/12/accounts/:account_id/funding_instruments/:funding_instrument_id Parameters Example Request DELETE https://ads-api-sandbox.x.com/12/accounts/gq1844/funding_instruments/hxt82 Example Response

IAB Categories

GET iab_categories

Request the valid app categories for ad groups (line_items). Resource URL https://ads-api.x.com/12/iab_categories Parameters Example Request GET https://ads-api.x.com/12/iab_categories?count=2 Example Response

Line Items

GET accounts/:account_id/line_items

Retrieve details for some or all line items associated with the current account. Resource URL https://ads-api.x.com/12/accounts/:account_id/line_items Parameters Example Request GET https://ads-api.x.com/12/accounts/18ce54d4x5t/line_items?line_item_ids=itttx Example Response

GET accounts/:account_id/line_items/:line_item_id

Retrieve a specific line item associated with the current account. Resource URL https://ads-api.x.com/12/accounts/:account_id/line_items/:line_item_id Parameters Example Request GET https://ads-api.x.com/12/accounts/18ce54d4x5t/line_items/itttx Example Response

POST accounts/:account_id/line_items

Create a line item associated with the specified campaign belonging to the current account. All line items within a campaign must be of the same product_type and objective. When using the PROMOTED_ACCOUNT product type, associating a Tweet with the line_item will add timeline placements on mobile in addition to the standard PROMOTED_ACCOUNT placement. Setting either android_app_store_identifier or ios_app_store_identifier will automatically add the targeting criteria for the line item matching the mobile app being promoted; for example, passing in ios_app_store_identifier would add PLATFORM targeting criteria for iOS. Note: There is a limit of 100 line items per campaign and 256 active line items across all campaigns. Resource URL https://ads-api.x.com/12/accounts/:account_id/line_items Parameters Example Request POST https://ads-api.x.com/12/accounts/18ce54d4x5t/line_items?campaign_id=hwtq0&objective=ENGAGEMENTS&product_type=PROMOTED_TWEETS&placements=ALL_ON_TWITTER&bid_amount_local_micro=3210000&entity_status=PAUSED&daily_budget_amount_local_micro=1000000&start_time=2022-06-15 Example Response

POST batch/accounts/:account_id/line_items

Allows the batch creation of new line items with a single request. Batch Requests
  • The current maximum batch size is 40.
  • All parameters are sent in the request body and a Content-Type of application/json is required.
  • Batch requests fail or succeed together as a group and all API responses for both error and success preserve the item order of the initial request.
Batch Responses Batch API responses return an ordered collection of items. Otherwise, they are identical in structure to their corresponding single-item endpoints. Batch Errors
  • Request-level errors (eg. max batch size exceeded) are shown in the response under the errors object.
  • Item-level errors (eg. missing required line item parameter) are shown in the response under the operation_errors object.
Resource URL https://ads-api.x.com/12/batch/accounts/:account_id/line_items Parameters Example Request POST 'Content-Type: application/json' https://ads-api.x.com/12/batch/accounts/18ce54d4x5t/line_items
Example Response

PUT accounts/:account_id/line_items/:line_item_id

Update the specified line item associated with the current account. Resource URL https://ads-api.x.com/12/accounts/:account_id/line_items/:line_item_id Parameters Example Request PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/line_items/9cqi0?bid_amount_local_micro=140000 Example Response

DELETE accounts/:account_id/line_items/:line_item_id

Delete the specified line item belonging to the current account. Note: Deleting a line item is not reversible and subsequent attempts to delete the resource will return HTTP 404. Note: When a line item is deleted, its child promoted_tweets are only returned in the GET accounts/:account_id/promoted_tweets and GET accounts/:account_id/promoted_tweets/:promoted_tweet_id endpoints if with_deleted=true is specified in the request. These promoted_tweets are not actually deleted, though ("deleted": false in the response). We do not cascade deletes. Resource URL https://ads-api.x.com/12/accounts/:account_id/line_items/:line_item_id Parameters Example Request DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/line_items/9f2ix Example Response

Line Item Curated Categories

Additional details on usage can be found at the Video Views Pre-roll Objective Guide

GET accounts/:account_id/line_item_curated_categories

Retrieve details for some or all line item curated categories associated with the current account. Resource URL https://ads-api.x.com/12/accounts/:account_id/line_item_curated_categories Parameters Example Request GET https://ads-api.x.com/12/accounts/abc1/line_item_curated_categories Example Response

GET accounts/:account_id/line_item_curated_categories/:line_item_curated_category_id

Retrieves details for a specific line item curated category associated with the current account. Resource URL https://ads-api.x.com/12/accounts/:account_id/line_item_curated_categories/:line_item_curated_category_id Parameters Example Request GET https://ads-api.x.com/12/accounts/abc1/line_item_curated_categories/yav Example Response

POST accounts/:account_id/line_item_curated_categories

Associate a curated category object with the specified line item. Resource URL https://ads-api.x.com/12/accounts/:account_id/line_item_curated_categories Parameters Example Request POST https://ads-api.x.com/12/accounts/18ce54d4x5t/line_item_curated_categories?line_item_id=iqwka&curated_category_id=9ddrgesiap6o Example Response

PUT accounts/:account_id/line_item_curated_categories/:line_item_curated_category_id

Update the specified line item curated category. Resource URL https://ads-api.x.com/12/accounts/:account_id/line_item_curated_categories/:line_item_curated_category_id Parameters Example Request PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/line_item_curated_categories/xq?curated_category_id=8tujl1p3yn0g Example Response

DELETE accounts/:account_id/line_item_curated_categories/:line_item_curated_category_id

Delete the specified line item curated category. Resource URL https://ads-api.x.com/12/accounts/:account_id/line_item_curated_categories/:line_item_curated_category_id Parameters Example Request DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/line_item_curated_categories/xq Example Response

Line Item Placements

GET line_items/placements

Retrieve valid placement and product_type combinations. Resource URL https://ads-api.x.com/12/line_items/placements Parameters Example Request GET https://ads-api.x.com/12/line_items/placements?product_type=PROMOTED_ACCOUNT Example Response

Media Creatives

GET accounts/:account_id/media_creatives

Retrieve details for some or all media creatives associated with the current account. Resource URL https://ads-api.x.com/12/accounts/:account_id/media_creatives Parameters Example Request GET https://ads-api.x.com/12/accounts/18ce54d4x5t/media_creatives?media_creative_ids=1bzq3 Example Response

GET accounts/:account_id/media_creatives/:media_creative_id

Retrieves details for a specific media creative associated with the current account. Resource URL https://ads-api.x.com/12/accounts/:account_id/media_creatives/:media_creative_id Parameters Example Request GET https://ads-api.x.com/12/accounts/18ce54d4x5t/media_creatives/1bzq3 Example Response

POST accounts/:account_id/media_creatives

Associate an account media object with the specified line item. Use this endpoint to promote in-stream ads (when the account media creative_type is PREROLL) or image ads (such as BANNER or INTERSTITIAL) on the Twitter Audience Platform. Note: In order to add media assets to the Account Media resource, use the POST accounts/:account_id/media_library endpoint. Resource URL https://ads-api.x.com/12/accounts/:account_id/media_creatives Parameters Example Request POST https://ads-api.x.com/12/accounts/18ce54d4x5t/media_creatives?line_item_id=8v7jo&account_media_id=10miy Example Response

DELETE accounts/:account_id/media_creatives/:media_creative_id

Delete the specified media creative belonging to the current account. Resource URL https://ads-api.x.com/12/accounts/:account_id/media_creatives/:media_creative_id Parameters Example Request DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/media_creatives/1bzq3 Example Response

GET accounts/:account_id/promoted_accounts

Retrieve details for some or all promoted accounts associated with one or more line items under the current account. Use GET users/lookup to obtain user data for the user accounts identified by user_id in the response. An HTTP 400 will be returned if none of the specified line items are configured to contain promoted accounts. Resource URL https://ads-api.x.com/12/accounts/:account_id/promoted_accounts Parameters Example Request GET https://ads-api.x.com/12/accounts/18ce54d4x5t/promoted_accounts?promoted_account_ids=19pl2 Example Response

GET accounts/:account_id/promoted_accounts/:promoted_account_id

Retrieve a specific reference to an account associated with a line item under the current account. Resource URL https://ads-api.x.com/12/accounts/:account_id/promoted_accounts/:promoted_account_id Parameters Example Request GET https://ads-api.x.com/12/accounts/18ce54d4x5t/promoted_accounts/19pl2 Example Response

POST accounts/:account_id/promoted_accounts

Associate an account (user_id) with the specified line item. If the specified line item is not configured to be associated with Promoted Accounts, a HTTP 400 INCOMPATIBLE_LINE_ITEM error will be returned. If the specified user is ineligible for promotion, a HTTP 400 will be returned and no users will be promoted. If the provided user is already promoted, the request will be ignored. For more information on Promoted Accounts, see our campaign management page. Note: It is not possible to update (PUT) promoted accounts entities. Resource URL https://ads-api.x.com/12/accounts/:account_id/promoted_accounts Parameters Example Request POST https://ads-api.x.com/12/accounts/18ce54d4x5t/promoted_accounts?line_item_id=9bpb2&user_id=756201191646691328 Example Response

DELETE accounts/:account_id/promoted_accounts/:promoted_account_id

Disassociate an account from the specified line item. Resource URL https://ads-api.x.com/12/accounts/:account_id/promoted_accounts/:promoted_account_id Parameters Example Request DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/promoted_accounts/19pl2 Example Response

GET accounts/:account_id/promoted_tweets

Retrieve references to Tweets associated with line items under the current account. Use the GET accounts/:account_id/tweets endpoint to fetch the Tweet objects. Use the tweet_id values for each promoted_tweets object. Note: When parent line items are deleted, promoted_tweets are only returned if with_deleted=true is specified in the request. These promoted_tweets are not actually deleted, though ("deleted": false in the response). Resource URL https://ads-api.x.com/12/accounts/:account_id/promoted_tweets Parameters Example Request GET https://ads-api.x.com/12/accounts/18ce54d4x5t/promoted_tweets?promoted_tweet_ids=1efwlo Example Response

GET accounts/:account_id/promoted_tweets/:promoted_tweet_id

Retrieve a specific reference to a Tweet associated with a line item under the current account. Note: When parent line items are deleted, promoted_tweets are only returned if with_deleted=true is specified in the request. These promoted_tweets are not actually deleted, though ("deleted": false in the response). Resource URL https://ads-api.x.com/12/accounts/:account_id/promoted_tweets/:promoted_tweet_id Parameters Example Request GET https://ads-api.x.com/12/accounts/18ce54d4x5t/promoted_tweets/1efwlo Example Response

POST accounts/:account_id/promoted_tweets

Associate one or more Tweets with the specified line item. Not all Tweets are appropriate for promotion, depending on the campaign objective. Please see Objective-based Campaigns for more information. When using the PROMOTED_ACCOUNT product type, associating a Tweet with the line_item will add timeline placements on mobile in addition to the standard PROMOTED_ACCOUNT placement. Note: It is not possible to update (PUT) promoted Tweet entities. Resource URL https://ads-api.x.com/12/accounts/:account_id/promoted_tweets Parameters Example Request POST https://ads-api.x.com/12/accounts/18ce54d4x5t/promoted_tweets?line_item_id=8v7jo&tweet_ids=822333526255120384 Example Response

DELETE accounts/:account_id/promoted_tweets/:promoted_tweet_id

Disassociate a Tweet from the specified line item. Note: A deleted promoted_tweets entity will be displayed as “Paused” in the ads.x.com UI. Similarly, “pausing” from the UI will disassociate the Tweet from its line item. Resource URL https://ads-api.x.com/12/accounts/:account_id/promoted_tweets/:promoted_tweet_id Parameters Example Request DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/promoted_tweets/1gp8a5 Example Response

Promotable Users

GET accounts/:account_id/promotable_users

Retrieve details for some or all promotable users associated with the current account. The promotable user type is either FULL or RETWEETS_ONLY. This controls the type of content that is allowed to be promoted by the account. Advertisers must obtain permission to promote another user’s content and contact Twitter to get them added to your account as a RETWEETS_ONLY promotable user. Provided the permissions are set correctly, you can make requests to the promoted product endpoints that directly reference the Tweet ID of the Tweet you’d like to promote. You can use the POST accounts/:account_id/promoted-tweets endpoint to promote published Tweets and the POST accounts/:account_id/scheduled-promoted-tweets endpoint to promote another Twitter Ads account’s Scheduled Tweets. You do not have to retweet the target Tweet. When you promote a Tweet with this approach, the tweet_id that is returned will be different from the Tweet ID that was provided. Behind the scenes, the Tweet is being retweeted as a nullcasted Tweet and then promoted. The tweet_id that is returned corresponds to this new Tweet. Resource URL https://ads-api.x.com/12/accounts/:account_id/promotable_users Parameters Example Request GET https://ads-api.x.com/12/accounts/18ce54d4x5t/promotable_users?promotable_user_ids=l310s Example Response

GET accounts/:account_id/promotable_users/:promotable_user_id

Retrieve a specific promotable user associated with the current account. The promotable user type is either FULL or RETWEETS_ONLY. This controls the type of content that is allowed to be promoted by the account. Advertisers must obtain permission to promote another user’s content. Provided the permissions are set correctly, you can make requests to the promoted product endpoints that directly reference the Tweet ID of the Tweet you’d like to promote. You do not have to retweet the target Tweet. When you promote a Tweet with this approach, the tweet_id that is returned will be different from the Tweet ID that was provided. Behind the scenes, the Tweet is being retweeted as a nullcasted Tweet and then promoted. The tweet_id that is returned corresponds to this new Tweet. Resource URL https://ads-api.x.com/12/accounts/:account_id/promotable_users/:promotable_user_id Parameters Example Request GET https://ads-api.x.com/12/accounts/18ce54d4x5t/promotable_users/l310s Example Response

Publishers

GET publishers

Retrieve a list of Content Category publishers’ details Additional details can be found in the Video Views Preroll Objective Guide Resource URL https://ads-api.x.com/12/publishers Parameters No request parameters Example Request GET https://ads-api.x.com/12/publishers Example Response

Recommendations

GET accounts/:account_id/recommendations

Status: Closed Beta Retrieve campaign recommendations associated with this ads account. Currently there is a limit of 1 recommendation per funding instrument. Resource URL https://ads-api.x.com/5/accounts/:account_id/recommendations Parameters Example Request GET https://ads-api.x.com/5/accounts/18ce54d4x5t/recommendations Example Response

GET accounts/:account_id/recommendations/:recommendation_id

Status: Closed Beta Retrieve a specific campaign recommendation associated with this ads account. The campaign recommendation contains a full set of changes suggested for the campaign structure represented as an object tree. The response tree is intended to work in conjunction with the Batch API endpoints, but it can also be mapped to single update endpoints as appropriate (Create for POST, Update for PUT, Delete for DELETE). Resource URL https://ads-api.x.com/5/accounts/:account_id/recommendations/:recommendation_id Parameters Example Request GET https://ads-api.x.com/5/accounts/18ce54d4x5t/recommendations/62ce8zza1q0w Example Response

Scheduled Promoted Tweets

GET accounts/:account_id/scheduled_promoted_tweets

Retrieve details for some or all scheduled promoted Tweets associated with the current account. Resource URL https://ads-api.x.com/12/accounts/:account_id/scheduled_promoted_tweets Parameters Example Request GET https://ads-api.x.com/12/accounts/18ce54d4x5t/scheduled_promoted_tweets?scheduled_promoted_tweet_ids=1xboq Example Response

GET accounts/:account_id/scheduled_promoted_tweets/:scheduled_promoted_tweet_id

Retrieve a specific scheduled promoted Tweet associated with the current account. Resource URL https://ads-api.x.com/12/accounts/:account_id/scheduled_promoted_tweets/:scheduled_promoted_tweet_id Parameters Example Request GET https://ads-api.x.com/12/accounts/18ce54d4x5t/scheduled_promoted_tweets/1xboq Example Response

POST accounts/:account_id/scheduled_promoted_tweets

Associate a scheduled Tweet with the specified line item. Note: It is not possible to update (PUT) scheduled promoted Tweet entities. Resource URL https://ads-api.x.com/12/accounts/:account_id/scheduled_promoted_tweets Parameters Example Request POST https://ads-api.x.com/12/accounts/18ce54d4x5t/scheduled_promoted_tweets?line_item_id=8xdpe&scheduled_tweet_id=870358555227860992 Example Response

DELETE accounts/:account_id/scheduled_promoted_tweets/:scheduled_promoted_tweet_id

Disassociate a scheduled Tweet from the specified line item. Note: scheduled_promoted_tweets can only be deleted before the scheduled Tweet’s scheduled_at time. Resource URL https://ads-api.x.com/12/accounts/:account_id/scheduled_tweets/:scheduled_tweet_id Parameters Example Request DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/scheduled_promoted_tweets/1xtfl Example Response

Targeting Criteria

GET accounts/:account_id/targeting_criteria

Retrieve details for some or all of the targeting criteria associated with line items under the current account. Resource URL https://ads-api.x.com/12/accounts/:account_id/targeting_criteria Parameters Example Request GET https://ads-api.x.com/12/accounts/18ce54d4x5t/targeting_criteria?line_item_ids=8u94t Example Response

GET accounts/:account_id/targeting_criteria/:targeting_criterion_id

Retrieve a specific targeting criterion associated with the current account. Resource URL https://ads-api.x.com/12/accounts/:account_id/targeting_criteria/:targeting_criterion_id Parameters Example Request GET https://ads-api.x.com/12/accounts/18ce54d4x5t/targeting_criteria/eijd4y Example Response

POST accounts/:account_id/targeting_criteria

See the Targeting Options page to find targeting_values for specific targeting types. We recommend that you refresh all data weekly, to ensure that you are working with the latest set of targeting type values. We change values and available targeting criteria from time to time; while the majority of these don’t change often, some do. There is no guarantee that these values will not change. Use the BROAD_KEYWORD, EXACT_KEYWORD, PHRASE_KEYWORD, or UNORDERED_KEYWORD targeting types with the keywords specified in the targeting_value. Exclude keywords by using the operator_type request parameter set to NE. See targeting keyword types for a detailed description of each type. Note: It is only possible to target a single age bucket per line item. Note: To target a Custom Audience, that audience must be targetable. i.e., targerable must equal true. Note: When using targeting type TV_SHOW, there must be at least one LOCATION targeting criterion on the line item prior to setting the TV_SHOW targeting and all LOCATION must be within the same locale as the TV_SHOW being targeted. Resource URL https://ads-api.x.com/12/accounts/:account_id/targeting_criteria Parameters Example Request POST https://ads-api.x.com/12/accounts/18ce54d4x5t/targeting_criteria?line_item_id=619jl&targeting_type=BROAD_KEYWORD&targeting_value=technology Example Response

POST batch/accounts/:account_id/targeting_criteria

Allows the batch creation of new Targeting Criteria with a single request. Batch Requests
  • The current maximum batch size is 500.
  • All parameters are sent in the request body and a Content-Type of application/json is required.
  • Batch requests fail or succeed together as a group and all API responses for both error and success preserve the item order of the initial request.
Batch Responses Batch API responses return an ordered collection of items. Otherwise, they are identical in structure to their corresponding single-item endpoints. Batch Errors
  • Request-level errors (eg. max batch size exceeded) are shown in the response under the errors object.
  • Item-level errors (eg. missing required Targeting Criteria parameter) are shown in the response under the operation_errors object.
Resource URL https://ads-api.x.com/12/batch/accounts/:account_id/targeting_criteria Parameters Example Request POST https://ads-api.x.com/12/batch/accounts/18ce54d4x5t/targeting_criteria
Example Response

DELETE accounts/:account_id/targeting_criteria/:targeting_criterion_id

Delete the specified targeting criterion belonging to the current account. Resource URL https://ads-api.x.com/12/accounts/:account_id/targeting_criteria/:targeting_criterion_id Parameters Example Request DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/targeting_criteria/dpl3a6 Example Response

Targeting Options

GET targeting_criteria/app_store_categories

Discover available app store category-based targeting criteria for Promoted Products. App store categories are available for the iOS App Store and the Google Play store only. Installed app category targeting allows targeting of users based on the categories of apps they have installed or have indicated interest in. Resource URL https://ads-api.x.com/12/targeting_criteria/app_store_categories Parameters Example Request GET https://ads-api.x.com/12/targeting_criteria/app_store_categories?q=music&os_type=IOS Example Response

GET targeting_criteria/conversations

Discover available conversation-based targeting criteria for Promoted Products. Resource URL https://ads-api.x.com/12/targeting_criteria/conversations Parameters Example Request GET https://ads-api.x.com/12/targeting_criteria/conversations?count=2 Example Response

GET targeting_criteria/devices

Discover available device-based targeting criteria for Promoted Products. Device targeting is available for Promoted Tweets. Resource URL https://ads-api.x.com/12/targeting_criteria/devices Parameters Example Request GET https://ads-api.x.com/12/targeting_criteria/devices?count=2&q=iphone Example Response

GET targeting_criteria/events

Discover available event-based targeting criteria for Promoted Products. Only one event can be targeted per line item. Note: Events often exist across timezones, leading to complications when considering event times from cross-timezone perspectives. To simplify this, all event start_time and end_time values on this endpoint are represented in UTC±00:00, irrespective of the event’s locale and timezone. This design should be kept in mind when querying and interacting with event start_time and end_time values. For example, Independence Day for the US is represented as start_time=2017-07-04T00:00:00Z and end_time=2017-07-05T00:00:00Z in UTC±00:00, and thus avoids the issue of this holiday existing across multiple timezones within the US. Resource URL https://ads-api.x.com/12/targeting_criteria/events Parameters Example Request GET https://ads-api.x.com/12/targeting_criteria/events?count=1 Example Response

GET targeting_criteria/interests

Discover available interest-based targeting criteria for Promoted Products. Interests change infrequently, however we suggest you refresh this list at least once weekly. Resource URL https://ads-api.x.com/12/targeting_criteria/interests Parameters Example Request GET https://ads-api.x.com/12/targeting_criteria/interests?q=books Example Response

GET targeting_criteria/languages

Discover languages available for targeting. Resource URL https://ads-api.x.com/12/targeting_criteria/languages Parameters Example Request GET https://ads-api.x.com/12/targeting_criteria/languages?q=english Example Response

GET targeting_criteria/locations

Discover available location-based targeting criteria for Promoted Products. Geo-targeting is available for Promoted Accounts and Promoted Tweets at the country level, state/region level, city level, and postal code level. Postal code targeting must be used if you wish to retrieve analytics at the postal code level. Note: To retrieve specific targetable cities, such as San Francisco or New York, use the CITIES enum with the location_type request parameter. To target Designated Market Areas (DMAs), use the METROS enum. Resource URL https://ads-api.x.com/12/targeting_criteria/locations Parameters Example Request GET https://ads-api.x.com/12/targeting_criteria/locations?location_type=CITIES&q=los angeles Example Response

GET targeting_criteria/network_operators

Discover available network operator-based targeting criteria for Promoted Products. This endpoint enables you to lookup targetingable carriers, such as AT&T, Verizon, Sprint, T-Mobile, etc., in multiple countries. Resource URL https://ads-api.x.com/12/targeting_criteria/network_operators Parameters Example Request GET https://ads-api.x.com/12/targeting_criteria/network_operators?count=5&country_code=US Example Response

GET targeting_criteria/platform_versions

Discover available mobile OS version-based targeting criteria for Promoted Products. Platform version targeting is available for Promoted Accounts and Promoted Tweets. This allows targeting down to the point release of a mobile operating system version, such as Android 8.0 or iOS 10.0. Resource URL https://ads-api.x.com/12/targeting_criteria/platform_versions Parameters Example Request GET https://ads-api.x.com/12/targeting_criteria/platform_versions Example Response

GET targeting_criteria/platforms

Discover available platform-based targeting criteria for Promoted Products. Resource URL https://ads-api.x.com/12/targeting_criteria/platforms Parameters Example Request GET https://ads-api.x.com/12/targeting_criteria/platforms Example Response

GET targeting_criteria/tv_markets

Discover available TV markets where TV shows can be targeted. Returns markets by locale that can used to query the GET targeting_criteria/tv_shows endpoint. Resource URL https://ads-api.x.com/12/targeting_criteria/tv_markets Parameters None Example Request GET https://ads-api.x.com/12/targeting_criteria/tv_markets Example Response

GET targeting_criteria/tv_shows

Discover available TV show-based targeting criteria for Promoted Products. TV show targeting is available for Promoted Tweets in certain markets. See the GET targeting_criteria/tv_markets endpoint for available markets. Note: Any audience that contains fewer than 1,000 users will appear with an estimated_users value of 1000. Note: TV channel and genre targeting options are no longer supported. Resource URL https://ads-api.x.com/12/targeting_criteria/tv_shows Parameters Example Request GET https://ads-api.x.com/12/targeting_criteria/tv_shows?locale=en-US&q=news&count=1 Example Response

Targeting Suggestions

GET accounts/:account_id/targeting_suggestions

Get up to 50 keyword or user targeting suggestions to complement your initial selection. Resource URL https://ads-api.x.com/12/accounts/:account_id/targeting_suggestions Parameters Example Request GET https://ads-api.x.com/12/accounts/18ce54d4x5t/targeting_suggestions?suggestion_type=KEYWORD&targeting_values=developers&count=2" Example Response

Tax Settings

GET accounts/:account_id/tax_settings

Retrieve tax setting details associated with the current account. Resource URL https://ads-api.x.com/12/accounts/:account_id/tax_settings Parameters Example Request GET https://ads-api.x.com/12/accounts/18ce54d4x5t/tax_settings Example Response

PUT accounts/:account_id/tax_settings

Update the tax settings for the current account. Resource URL https://ads-api.x.com/12/accounts/:account_id/tax_settings Parameters Example Request PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/tax_settings?address_name=ABC, Co. Example Response

Tracking Tags

GET accounts/:account_id/tracking_tags

Retrieve details for some or all tracking tags associated with the current account. Resource URL https://ads-api.x.com/12/accounts/:account_id/tracking_tags Parameters Example Request GET https://ads-api.x.com/12/accounts/18ce54d4x5t/tracking_tags?tracking_tag_ids=3m82 Example Response

GET accounts/:account_id/tracking_tags/:tracking_tag_id

Retrieve a specific tracking tag associated with the current account. Resource URL https://ads-api.x.com/12/accounts/:account_id/tracking_tags/:tracking_tag_id Parameters Example Request GET https://ads-api.x.com/12/accounts/18ce54d4x5t/tracking_tags/555j Example Response

POST accounts/:account_id/tracking_tags

Associate a tracking tag with the specified line item. Resource URL https://ads-api.x.com/12/accounts/:account_id/tracking_tags Parameters Example Request POST https://ads-api.x.com/12/accounts/18ce54d4x5t/tracking_tags?line_item_id=fdwcl&tracking_tag_type=IMPRESSION_TAG&tracking_tag_url=https://ad.doubleclick.net/ddm/trackimp/N1234.2061500TWITTER-OFFICIAL/B9156151.125630439;dc_trk_aid=1355;dc_trk_cid=8675309 Example Response

PUT accounts/:account_id/tracking_tags/:tracking_tag_id

Associate a tracking tag with the specified line item. Resource URL https://ads-api.x.com/12/accounts/:account_id/tracking_tags/:tracking_tag_id Parameters Example Request PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/tracking_tags/3m82?tracking_tag_url=https://ad.doubleclick.net/ddm/trackimp/N1234.2061500TWITTER-OFFICIAL/B9156151.125630439;dc_trk_aid=1355;dc_trk_cid=8675309 Example Response

DELETE accounts/:account_id/tracking_tags/:tracking_tag_id

Disassociate a tracking tag from the specified line item. Resource URL https://ads-api.x.com/12/accounts/:account_id/tracking_tags/:tracking_tag_id Parameters Example Request DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/tracking_tags/555j Example Response

User Settings

(https://app.getpostman.com/run-collection/1d12b9fc623b8e149f87)

GET accounts/:account_id/user_settings/:user_id

Retrieves user settings. Resource URL https://ads-api.x.com/12/accounts/:account_id/user_settings/:user_id Parameters Example Request GET https://ads-api.x.com/12/accounts/18ce54d4x5t/user_settings/756201191646691328 Example Response

PUT accounts/:account_id/user_settings/:user_id

Updates user settings. Requires user context. Not accessible by account admins. Resource URL https://ads-api.x.com/12/accounts/:account_id/user_settings/:user_id Parameters Example Request PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/user_settings/756201191646691328?notification_email='user@domain.com'&subscribe_email_types=ACCOUNT_PERFORMANCE,PERFORMANCE_IMPROVEMENT" Example Response