Ad Exchange Buyer API II
Accesses the latest features for managing Authorized Buyers accounts, Real-Time Bidding configurations and auction metrics, and Marketplace programmatic deals.
Latency
25ms p95
Uptime
100.0% 30d
Playground
Verified
live
Endpoints
/v2beta1/accounts/{accountId}/proposals/{proposalId}:accept
Mark the proposal as accepted at the given revision number. If the number does not match the server's revision number an `ABORTED` error message will be returned. This call updates the proposal_state from `PROPOSED` to `BUYER_ACCEPTED`, or from `SELLER_ACCEPTED` to `FINALIZED`. Upon calling this endpoint, the buyer implicitly agrees to the terms and conditions optionally set within the proposal by the publisher.
/v2beta1/accounts/{accountId}/clients
Lists all the clients for the current sponsor buyer.
/v2beta1/accounts/{accountId}/clients
Creates a new client buyer.
/v2beta1/accounts/{accountId}/clients/{clientAccountId}
Gets a client buyer with a given client account ID.
/v2beta1/accounts/{accountId}/clients/{clientAccountId}
Updates an existing client buyer.
/v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations
Lists all the client users invitations for a client with a given account ID.
/v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations
Creates and sends out an email invitation to access an Ad Exchange client buyer account.
/v2beta1/accounts/{accountId}/clients/{clientAccountId}/invitations/{invitationId}
Retrieves an existing client user invitation.
/v2beta1/accounts/{accountId}/clients/{clientAccountId}/users
Lists all the known client users for a specified sponsor buyer account ID.
/v2beta1/accounts/{accountId}/clients/{clientAccountId}/users/{userId}
Retrieves an existing client user.
/v2beta1/accounts/{accountId}/clients/{clientAccountId}/users/{userId}
Updates an existing client user. Only the user status can be changed on update.
/v2beta1/accounts/{accountId}/creatives
Lists creatives.
/v2beta1/accounts/{accountId}/creatives
Creates a creative.
/v2beta1/accounts/{accountId}/creatives/{creativeId}
Gets a creative.
/v2beta1/accounts/{accountId}/creatives/{creativeId}
Updates a creative.
/v2beta1/accounts/{accountId}/creatives/{creativeId}/dealAssociations
List all creative-deal associations.
/v2beta1/accounts/{accountId}/creatives/{creativeId}/dealAssociations:add
Associate an existing deal with a creative.
/v2beta1/accounts/{accountId}/creatives/{creativeId}/dealAssociations:remove
Remove the association between a deal and a creative.
/v2beta1/accounts/{accountId}/creatives/{creativeId}:stopWatching
Stops watching a creative. Will stop push notifications being sent to the topics when the creative changes status.
/v2beta1/accounts/{accountId}/creatives/{creativeId}:watch
Watches a creative. Will result in push notifications being sent to the topic when the creative changes status.
/v2beta1/accounts/{accountId}/proposals/{proposalId}:addNote
Create a new note and attach it to the proposal. The note is assigned a unique ID by the server. The proposal revision number will not increase when associated with a new note.
/v2beta1/accounts/{accountId}/finalizedProposals
List finalized proposals, regardless if a proposal is being renegotiated. A filter expression (PQL query) may be specified to filter the results. The notes will not be returned.
/v2beta1/accounts/{accountId}/finalizedProposals/{proposalId}:pause
Update given deals to pause serving. This method will set the `DealServingMetadata.DealPauseStatus.has_buyer_paused` bit to true for all listed deals in the request. Currently, this method only applies to PG and PD deals. For PA deals, call accounts.proposals.pause endpoint. It is a no-op to pause already-paused deals. It is an error to call PauseProposalDeals for deals which are not part of the proposal of proposal_id or which are not finalized or renegotiating.
/v2beta1/accounts/{accountId}/finalizedProposals/{proposalId}:resume
Update given deals to resume serving. This method will set the `DealServingMetadata.DealPauseStatus.has_buyer_paused` bit to false for all listed deals in the request. Currently, this method only applies to PG and PD deals. For PA deals, call accounts.proposals.resume endpoint. It is a no-op to resume running deals or deals paused by the other party. It is an error to call ResumeProposalDeals for deals which are not part of the proposal of proposal_id or which are not finalized or renegotiating.
/v2beta1/accounts/{accountId}/products
List all products visible to the buyer (optionally filtered by the specified PQL query).
/v2beta1/accounts/{accountId}/products/{productId}
Gets the requested product by ID.
/v2beta1/accounts/{accountId}/proposals
List proposals. A filter expression (PQL query) may be specified to filter the results. To retrieve all finalized proposals, regardless if a proposal is being renegotiated, see the FinalizedProposals resource. Note that Bidder/ChildSeat relationships differ from the usual behavior. A Bidder account can only see its child seats' proposals by specifying the ChildSeat's accountId in the request path.
/v2beta1/accounts/{accountId}/proposals
Create the given proposal. Each created proposal and any deals it contains are assigned a unique ID by the server.
/v2beta1/accounts/{accountId}/proposals/{proposalId}
Gets a proposal given its ID. The proposal is returned at its head revision.
/v2beta1/accounts/{accountId}/proposals/{proposalId}
Update the given proposal at the client known revision number. If the server revision has advanced since the passed-in `proposal.proposal_revision`, an `ABORTED` error message will be returned. Only the buyer-modifiable fields of the proposal will be updated. Note that the deals in the proposal will be updated to match the passed-in copy. If a passed-in deal does not have a `deal_id`, the server will assign a new unique ID and create the deal. If passed-in deal has a `deal_id`, it will be updated to match the passed-in copy. Any existing deals not present in the passed-in proposal will be deleted. It is an error to pass in a deal with a `deal_id` not present at head.
/v2beta1/accounts/{accountId}/proposals/{proposalId}:cancelNegotiation
Cancel an ongoing negotiation on a proposal. This does not cancel or end serving for the deals if the proposal has been finalized, but only cancels a negotiation unilaterally.
/v2beta1/accounts/{accountId}/proposals/{proposalId}:completeSetup
You can opt-in to manually update proposals to indicate that setup is complete. By default, proposal setup is automatically completed after their deals are finalized. Contact your Technical Account Manager to opt in. Buyers can call this method when the proposal has been finalized, and all the required creatives have been uploaded using the Creatives API. This call updates the `is_setup_completed` field on the deals in the proposal, and notifies the seller. The server then advances the revision number of the most recent proposal. To mark an individual deal as ready to serve, call `buyers.finalizedDeals.setReadyToServe` in the Marketplace API.
/v2beta1/accounts/{accountId}/proposals/{proposalId}:pause
Update the given proposal to pause serving. This method will set the `DealServingMetadata.DealPauseStatus.has_buyer_paused` bit to true for all deals in the proposal. It is a no-op to pause an already-paused proposal. It is an error to call PauseProposal for a proposal that is not finalized or renegotiating.
/v2beta1/accounts/{accountId}/proposals/{proposalId}:resume
Update the given proposal to resume serving. This method will set the `DealServingMetadata.DealPauseStatus.has_buyer_paused` bit to false for all deals in the proposal. Note that if the `has_seller_paused` bit is also set, serving will not resume until the seller also resumes. It is a no-op to resume an already-running proposal. It is an error to call ResumeProposal for a proposal that is not finalized or renegotiating.
/v2beta1/accounts/{accountId}/publisherProfiles
List all publisher profiles visible to the buyer
/v2beta1/accounts/{accountId}/publisherProfiles/{publisherProfileId}
Gets the requested publisher profile by id.
/v2beta1/{filterSetName}/bidMetrics
Lists all metrics that are measured in terms of number of bids.
/v2beta1/{filterSetName}/bidResponseErrors
List all errors that occurred in bid responses, with the number of bid responses affected for each reason.
/v2beta1/{filterSetName}/bidResponsesWithoutBids
List all reasons for which bid responses were considered to have no applicable bids, with the number of bid responses affected for each reason.
/v2beta1/{filterSetName}/filteredBidRequests
List all reasons that caused a bid request not to be sent for an impression, with the number of bid requests not sent for each reason.
/v2beta1/{filterSetName}/filteredBids
List all reasons for which bids were filtered, with the number of bids filtered for each reason.
/v2beta1/{filterSetName}/filteredBids/{creativeStatusId}/creatives
List all creatives associated with a specific reason for which bids were filtered, with the number of bids filtered for each creative.
/v2beta1/{filterSetName}/filteredBids/{creativeStatusId}/details
List all details associated with a specific reason for which bids were filtered, with the number of bids filtered for each detail.
/v2beta1/{filterSetName}/impressionMetrics
Lists all metrics that are measured in terms of number of impressions.
/v2beta1/{filterSetName}/losingBids
List all reasons for which bids lost in the auction, with the number of bids that lost for each reason.
/v2beta1/{filterSetName}/nonBillableWinningBids
List all reasons for which winning bids were not billable, with the number of bids not billed for each reason.
/v2beta1/{name}
Deletes the requested filter set from the account with the given account ID.
/v2beta1/{name}
Retrieves the requested filter set for the account with the given account ID.
/v2beta1/{ownerName}/filterSets
Lists all filter sets for the account with the given account ID.
/v2beta1/{ownerName}/filterSets
Creates the specified filter set for the account with the given account ID.
50 endpoints auto-detected
Authentication
This API requires authentication: OAuth.
curl -X POST \
"https://adexchangebuyer.googleapis.com/v2beta1/accounts/{accountId}/proposals/{proposalId}:accept"adexchangebuyer.googleapis.com · HTTPS only