Demand Partner service

The Demand Partner Service returns all demand partners for the caller's member. It enables the user to create a new demand partner and update or delete an existing demand partner.

In the context of PSP, demand partners, usually supply-side platforms (SSPs) like, create adapters for Prebid Server that receive and interpret header bidding ad requests. Demand partners hold an auction among their demand sources (usually demand-side-platforms (DSPs)) to collect bids on those ad requests and send the bids back to PSP, which holds another auction.

Before a demand partner can be added to a configuration, they must be enabled via this service or through the UI. Setting a demand partner to enabled: false pauses all bid requests to that partner across all configurations until the setting is restored to true. The list of demand partners compatible with PSP can be found here.

REST API

HTTP Method Endpoint Description
GET https://api.appnexus.com/prebid/demand-partner Get all demand partners.
POST https://api.appnexus.com/prebid/demand-partner Create a new demand partner.
PUT https://api.appnexus.com/prebid/demand-partner/{id} Update an existing demand partner.
PATCH https://api.appnexus.com/prebid/demand-partner/{id} Update a portion of an existing demand partner.
DELETE https://api.appnexus.com/prebid/demand-partner/{id} Delete a demand partner.

GET

Get all or a specific demand partner. To retrieve a specific demand partner, append the demand partner ID as last component of the URL path. Returns a JSON array of demand partner objects.

Response

Property Type Description
bid_cpm_adjustment integer A multiplier value applied to the Demand Partner's CPM bid price to adjust how the bids compete in auction. This does not change the actual bid or revenue payout, only the ranking of the bid in the auction. The default value is 1.00. In this case all partners' bids compete equally with no adjustments. The adjustment can be used to account for partner fees or for optimization. If you need CPM adjustments at a level more granular than Demand Partner, see Create a Bias Rule.
deleted boolean This indicates that the demand partner object has been deleted from the system.
enabled boolean Indicates if the demand partner is enabled or disabled.
id integer The demand partner ID specific to the caller's member.
last_modified string The date that the demand partner object was modified.
last_modified_by string The user who last modified the demand partner object.
member_id integer The member ID.
name string The name of the demand partner.
pub_id_settings object The options relevant to the publisher-provided user IDs. See the publisher provided ID settings table below.

Publisher provided ID settings

Property Type Description
id integer Unique identifier representing the source.
source string Unique string representing the source.
member_owner_id integer Unique identifier of the member that owns the source.
status string Indicates if the source is active. Requires string input of "active" or "inactive".

Example response

[
    {
        "bid_cpm_adjustment": 2,
        "deleted": false,
        "enabled": true,
        "id": 102,
        "last_modified": "2019-09-13T17:39:36Z",
        "last_modified_by":"user123",
        "member_id": 9325,
        "name": "adform",
        "pub_id_settings": {
            "sources": [
                {
                    "id": 12345,
                    "source": "sourcename",
                    "member_owner_id": 9325,
                    "status": "active"
                }
            ]
        }
    },
    {
        "bid_cpm_adjustment": 1,
        "deleted": false,
        "enabled": true,
        "id": 65,
        "last_modified": "2018-11-02T15:33:54Z",
        "last_modified_by":"user123",
        "member_id": 9325,
        "name": "appnexus",
        "pub_id_settings": null
    },
    {
        "bid_cpm_adjustment": 1,
        "deleted": false,
        "enabled": true,
        "id": 68,
        "last_modified": "2018-11-02T18:32:03Z",
        "last_modified_by":"user123",
        "member_id": 9325,
        "name": "openx",
        "pub_id_settings": null
    },
    {
        "bid_cpm_adjustment": 1,
        "deleted": false,
        "enabled": true,
        "id": 69,
        "last_modified": "2018-11-02T18:32:31Z",
        "last_modified_by":"user123",
        "member_id": 9325,
        "name": "ix",
        "pub_id_settings": null
    }
]

POST

Create a new demand partner.

Example call using curl

curl -d @demand-partner.json -X POST 'https://api.appnexus.com/prebid/demand-partner'
Property Type Scope Description
bid_cpm_adjustment integer Required The bid CPM adjustment.
enabled boolean Required Indicates if the demand partner is enabled or disabled.
name string Required The name of the demand partner.
pub_id_settings object Required The options relevant to the publisher-provided user ids. See publisher provided ID settings table above.

Example JSON

{
    "bid_cpm_adjustment": 1,
    "enabled": true,
    "name": "test-demand-partner",
    "pub_id_settings": {
        "sources": [
            {
                "id": 12345,
                "source": "sourcename",
                "member_owner_id": 9325,
                "status": "active"
            }
        ]
    }
}

Response

A successful response will return the new demand partner as a JSON object.

{
    "bid_cpm_adjustment": 1,
    "deleted": false,
    "enabled": true,
    "id": 999,
    "last_modified": "2020-02-25T18:32:31Z",
    "last_modified_by":"user123",
    "member_id": 9325,
    "name": "test-demand-partner",
    "pub_id_settings": {
        "sources": [
            {
                "id": 12345,
                "source": "sourcename",
                "member_owner_id": 9325,
                "status": "active"
            }
        ]
    }
}

PUT

Updates an existing Prebid demand partner. Include the id as last component of the path. Pass the update information as JSON in the body of the request.

Example call using curl

curl https://api.appnexus.com/prebid/demand-partner/1234

JSON example

{
    "id": 1234,
    "name": "openx",
    "enabled": 0,
    "bid_cpm_adjustment": 1,
    "pub_id_settings": null
  }

Response

Returns updated Prebid demand partner object.

PATCH

Partially update an existing Prebid demand partner. Include the ID as last component of the path. Pass the update information as JSON in the body of the request.

{
    "enabled": 0,
    "bid_cpm_adjustment": 1
}

Example call using curl

curl https://api.appnexus.com/prebid/demand-partner/1234

Response

Returns the updated Prebid demand partner object.

DELETE

Delete an existing Prebid demand partner. Include the ID as last component of the path.

Example call using curl

curl https://api.appnexus.com/prebid/demand-partner/1234

Response

The success response of the Prebid demand partner object is returned as a JSON object with the deleted property set to true. The Prebid demand partner will no longer be available in the system. Any sub-objects will also be deleted.

Managing identity sources

Note

  • Each identifier source must have permission at the Microsoft member, bidder (Prebid Server Premium, ID 443), and demand partner level in order to successfully pass through in requests to demand partners.
  • For more information on the identifier registration process and managing identifiers, review the Identity Service API.
  • In the future, the Identity Management UI will allow for holistic management of identifier permissions.
  • This service currently is in Alpha. It is still under development and may be subject to change without notice. Contact your Microsoft Account Representative to get enabled.