APIHub
Back to Explore

Authorized Buyers Marketplace API

The Authorized Buyers Marketplace API lets buyers programmatically discover inventory; propose, retrieve and negotiate deals with publishers.

Analytics
OAuth
HTTPS
CORS: Unknown
Visit official documentation

Latency

Not monitored yet

Uptime

Not monitored yet

Playground

Verified

live

Endpoints

REST · JSON
POST

/v1/{auctionPackage}:subscribeClients

Subscribe the specified clients of the buyer to the auction package. If a client in the list does not belong to the buyer, an error response will be returned, and all of the following clients in the list will not be subscribed. Subscribing an already subscribed client will have no effect.

  • auctionPackage (path, required) — Required. Name of the auction package. Format: `buyers/{accountId}/auctionPackages/{auctionPackageId}`
POST

/v1/{auctionPackage}:unsubscribeClients

Unsubscribe from the auction package for the specified clients of the buyer. Unsubscribing a client that is not subscribed will have no effect.

  • auctionPackage (path, required) — Required. Name of the auction package. Format: `buyers/{accountId}/auctionPackages/{auctionPackageId}`
POST

/v1/{buyer}/proposals:sendRfp

Sends a request for proposal (RFP) to a publisher to initiate the negotiation regarding certain inventory. In the RFP, buyers can specify the deal type, deal terms, start and end dates, targeting, and a message to the publisher. Once the RFP is sent, a proposal in `SELLER_REVIEW_REQUESTED` state will be created and returned in the response. The publisher may review your request and respond with detailed deals in the proposal.

  • buyer (path, required) — Required. The current buyer who is sending the RFP in the format: `buyers/{accountId}`.
POST

/v1/{deal}:addCreative

Add creative to be used in the bidding process for a finalized deal. For programmatic guaranteed deals, it's recommended that you associate at least one approved creative with the deal before calling SetReadyToServe, to help reduce the number of bid responses filtered because they don't contain approved creatives. Creatives successfully added to a deal can be found in the Realtime-bidding Creatives API creative.deal_ids. This method only applies to programmatic guaranteed deals. Maximum number of 1000 creatives can be added to a finalized deal.

  • deal (path, required) — Required. Name of the finalized deal in the format of: `buyers/{accountId}/finalizedDeals/{dealId}`
POST

/v1/{deal}:setReadyToServe

Sets the given finalized deal as ready to serve. By default, deals are set as ready to serve as soon as they're finalized. If you want to opt out of the default behavior, and manually indicate that deals are ready to serve, ask your Technical Account Manager to add you to the allowlist. If you choose to use this method, finalized deals belonging to the bidder and its child seats don't start serving until after you call `setReadyToServe`, and after the deals become active. For example, you can use this method to delay receiving bid requests until your creative is ready. This method only applies to programmatic guaranteed deals.

  • deal (path, required) — Required. Format: `buyers/{accountId}/finalizedDeals/{dealId}`
DELETE

/v1/{name}

Deletes an existing client user. The client user will lose access to the Authorized Buyers UI. Note that if a client user is deleted, the user's access to the UI can't be restored unless a new client user is created and activated.

  • name (path, required) — Required. Format: `buyers/{buyerAccountId}/clients/{clientAccountId}/clientUsers/{userId}`
GET

/v1/{name}

Gets the requested publisher profile by name.

  • name (path, required) — Required. Name of the publisher profile. Format: `buyers/{buyerId}/publisherProfiles/{publisherProfileId}`
PATCH

/v1/{name}

Updates the given deal at the buyer known revision number. If the server revision has advanced since the passed-in proposal.proposal_revision an ABORTED error message will be returned. The revision number is incremented by the server whenever the proposal or its constituent deals are updated. Note: The revision number is kept at a proposal level. The buyer of the API is expected to keep track of the revision number after the last update operation and send it in as part of the next update request. This way, if there are further changes on the server (for example, seller making new updates), then the server can detect conflicts and reject the proposed changes.

  • name (path, required) — Immutable. The unique identifier of the deal. Auto-generated by the server when a deal is created. Format: buyers/{accountId}/proposals/{proposalId}/deals/{dealId}
  • updateMask (query) — List of fields to be updated. If empty or unspecified, the service will update all fields populated in the update request excluding the output only fields and primitive fields with default value. Note that explicit field mask is required in order to reset a primitive field back to its default value, for example, false for boolean fields, 0 for integer fields. A special field mask consisting of a single path "*" can be used to indicate full replacement(the equivalent of PUT method), updatable fields unset or unspecified in the input will be cleared or set to default value. Output only fields will be ignored regardless of the value of updateMask.
POST

/v1/{name}:accept

Accepts the proposal at the given revision number. If the revision number in the request is behind the latest from the server, an error message will be returned. This call updates the Proposal.state from `BUYER_ACCEPTANCE_REQUESTED` to `FINALIZED`; it has no side effect if the Proposal.state is already `FINALIZED` and throws exception if the Proposal.state is not either `BUYER_ACCEPTANCE_REQUESTED` or `FINALIZED`. Accepting a proposal means the buyer understands and accepts the Proposal.terms_and_conditions proposed by the seller.

  • name (path, required) — Name of the proposal. Format: `buyers/{accountId}/proposals/{proposalId}`
POST

/v1/{name}:activate

Activates an existing client user. The state of the client user will be updated from "INACTIVE" to "ACTIVE". This method has no effect if the client user is already in "ACTIVE" state. An error will be returned if the client user to activate is still in "INVITED" state.

  • name (path, required) — Required. Format: `buyers/{buyerAccountId}/clients/{clientAccountId}/clientUsers/{userId}`
POST

/v1/{name}:deactivate

Deactivates an existing client user. The state of the client user will be updated from "ACTIVE" to "INACTIVE". This method has no effect if the client user is already in "INACTIVE" state. An error will be returned if the client user to deactivate is still in "INVITED" state.

  • name (path, required) — Required. Format: `buyers/{buyerAccountId}/clients/{clientAccountId}/clientUsers/{userId}`
POST

/v1/{name}:pause

Pauses serving of the given finalized deal. This call only pauses the serving status, and does not affect other fields of the finalized deal. Calling this method for an already paused deal has no effect. This method only applies to programmatic guaranteed deals.

  • name (path, required) — Required. Format: `buyers/{accountId}/finalizedDeals/{dealId}`
POST

/v1/{name}:resume

Resumes serving of the given finalized deal. Calling this method for an running deal has no effect. If a deal is initially paused by the seller, calling this method will not resume serving of the deal until the seller also resumes the deal. This method only applies to programmatic guaranteed deals.

  • name (path, required) — Required. Format: `buyers/{accountId}/finalizedDeals/{dealId}`
POST

/v1/{name}:subscribe

Subscribe to the auction package for the specified buyer. Once subscribed, the bidder will receive a call out for inventory matching the auction package targeting criteria with the auction package deal ID and the specified buyer.

  • name (path, required) — Required. Name of the auction package. Format: `buyers/{accountId}/auctionPackages/{auctionPackageId}`
POST

/v1/{name}:unsubscribe

Unsubscribe from the auction package for the specified buyer. Once unsubscribed, the bidder will no longer receive a call out for the auction package deal ID and the specified buyer.

  • name (path, required) — Required. Name of the auction package. Format: `buyers/{accountId}/auctionPackages/{auctionPackageId}`
GET

/v1/{parent}/auctionPackages

List the auction packages subscribed by a buyer and its clients.

  • parent (path, required) — Required. Name of the parent buyer that can access the auction package. Format: `buyers/{accountId}`
  • pageSize (query, limit) — Requested page size. The server may return fewer results than requested. Max allowed page size is 500.
  • pageToken (query) — The page token as returned. ListAuctionPackagesResponse.nextPageToken
GET

/v1/{parent}/clients

Lists all the clients for the current buyer.

  • parent (path, required) — Required. The name of the buyer. Format: `buyers/{accountId}`
  • filter (query) — Query string using the [Filtering Syntax](https://developers.google.com/authorized-buyers/apis/guides/v2/list-filters) Supported fields for filtering are: * partnerClientId Use this field to filter the clients by the partnerClientId. For example, if the partnerClientId of the client is "1234", the value of this field should be `partnerClientId = "1234"`, in order to get only the client whose partnerClientId is "1234" in the response.
  • pageSize (query, limit) — Requested page size. If left blank, a default page size of 500 will be applied.
  • pageToken (query) — A token identifying a page of results the server should return. Typically, this is the value of ListClientsResponse.nextPageToken returned from the previous call to the list method.
POST

/v1/{parent}/clients

Creates a new client.

  • parent (path, required) — Required. The name of the buyer. Format: `buyers/{accountId}`
GET

/v1/{parent}/deals

Lists all deals in a proposal. To retrieve only the finalized revision deals regardless if a deal is being renegotiated, see the FinalizedDeals resource.

  • parent (path, required) — Required. The name of the proposal containing the deals to retrieve. Format: buyers/{accountId}/proposals/{proposalId}
  • pageSize (query, limit) — Requested page size. The server may return fewer results than requested. If requested more than 500, the server will return 500 results per page. If unspecified, the server will pick a default page size of 100.
  • pageToken (query) — The page token as returned from ListDealsResponse.
POST

/v1/{parent}/deals:batchUpdate

Batch updates multiple deals in the same proposal.

  • parent (path, required) — Required. The name of the proposal containing the deals to batch update. Format: buyers/{accountId}/proposals/{proposalId}
GET

/v1/{parent}/finalizedDeals

Lists finalized deals. Use the URL path "/v1/buyers/{accountId}/finalizedDeals" to list finalized deals for the current buyer and its clients. Bidders can use the URL path "/v1/bidders/{accountId}/finalizedDeals" to list finalized deals for the bidder, its buyers and all their clients.

  • parent (path, required) — Required. The buyer to list the finalized deals for, in the format: `buyers/{accountId}`. When used to list finalized deals for a bidder, its buyers and clients, in the format `bidders/{accountId}`.
  • filter (query) — Optional query string using the [Cloud API list filtering syntax](https://developers.google.com/authorized-buyers/apis/guides/v2/list-filters) Supported columns for filtering are: * deal.displayName * deal.dealType * deal.createTime * deal.updateTime * deal.flightStartTime * deal.flightEndTime * dealServingStatus
  • orderBy (query) — An optional query string to sort finalized deals using the [Cloud API sorting syntax](https://cloud.google.com/apis/design/design_patterns#sorting_order). If no sort order is specified, results will be returned in an arbitrary order. Supported columns for sorting are: * deal.displayName * deal.createTime * deal.updateTime * deal.flightStartTime * deal.flightEndTime * rtbMetrics.bidRequests7Days * rtbMetrics.bids7Days * rtbMetrics.adImpressions7Days * rtbMetrics.bidRate7Days * rtbMetrics.filteredBidRate7Days * rtbMetrics.mustBidRateCurrentMonth Example: 'deal.displayName, deal.updateTime desc'
  • pageSize (query, limit) — Requested page size. The server may return fewer results than requested. If requested more than 500, the server will return 500 results per page. If unspecified, the server will pick a default page size of 100.
  • pageToken (query) — The page token as returned from ListFinalizedDealsResponse.
GET

/v1/{parent}/proposals

Lists proposals. A filter expression (list filter syntax) may be specified to filter the results. This will not list finalized versions of proposals that are being renegotiated; to retrieve these use the finalizedProposals resource.

  • parent (path, required) — Required. Parent that owns the collection of proposals Format: `buyers/{accountId}`
  • filter (query) — Optional query string using the [Cloud API list filtering syntax](https://developers.google.com/authorized-buyers/apis/guides/v2/list-filters) Supported columns for filtering are: * displayName * dealType * updateTime * state
  • pageSize (query, limit) — Requested page size. The server may return fewer results than requested. If unspecified, the server will put a size of 500.
  • pageToken (query) — The page token as returned from ListProposalsResponse.
GET

/v1/{parent}/publisherProfiles

Lists publisher profiles. The returned publisher profiles aren't in any defined order. The order of the results might change. A new publisher profile can appear in any place in the list of returned results.

  • parent (path, required) — Required. Parent that owns the collection of publisher profiles Format: `buyers/{buyerId}`
  • filter (query) — Optional query string using the [Cloud API list filtering] (https://developers.google.com/authorized-buyers/apis/guides/v2/list-filters) syntax.
  • pageSize (query, limit) — Requested page size. The server may return fewer results than requested. If requested more than 500, the server will return 500 results per page. If unspecified, the server will pick a default page size of 100.
  • pageToken (query) — The page token as returned from a previous ListPublisherProfilesResponse.
GET

/v1/{parent}/users

Lists all client users for a specified client.

  • parent (path, required) — Required. The name of the client. Format: `buyers/{buyerAccountId}/clients/{clientAccountId}`
  • pageSize (query, limit) — Requested page size. If left blank, a default page size of 500 will be applied.
  • pageToken (query) — A token identifying a page of results the server should return. Typically, this is the value of ListClientUsersResponse.nextPageToken returned from the previous call to the list method.
POST

/v1/{parent}/users

Creates a new client user in "INVITED" state. An email invitation will be sent to the new user, once accepted the user will become active.

  • parent (path, required) — Required. The name of the client. Format: `buyers/{accountId}/clients/{clientAccountId}`
POST

/v1/{proposal}:addNote

Creates a note for this proposal and sends to the seller.

  • proposal (path, required) — Name of the proposal. Format: `buyers/{accountId}/proposals/{proposalId}`
POST

/v1/{proposal}:cancelNegotiation

Cancels an ongoing negotiation on a proposal. This does not cancel or end serving for the deals if the proposal has been finalized. If the proposal has not been finalized before, calling this method will set the Proposal.state to `TERMINATED` and increment the Proposal.proposal_revision. If the proposal has been finalized before and is under renegotiation now, calling this method will reset the Proposal.state to `FINALIZED` and increment the Proposal.proposal_revision. This method does not support private auction proposals whose Proposal.deal_type is 'PRIVATE_AUCTION'.

  • proposal (path, required) — Name of the proposal. Format: `buyers/{accountId}/proposals/{proposalId}`

27 endpoints auto-detected

Authentication

This API requires authentication: OAuth.

curl -X POST \
  "https://authorizedbuyersmarketplace.googleapis.com/v1/{auctionPackage}:subscribeClients"

authorizedbuyersmarketplace.googleapis.com · HTTPS only