Request For Proposal API For Buyers¶
Request For Proposal API allows Buyers to request their preferred inventory from connected Supplier partners, to view and update existing requests, to accept and reject deals provided by Suppliers.
To connect to Request For Proposal API, use the following steps.
Create an API user in your myBidSwitch UI account.
Using this user’s credentials, get your API token by making a
POSTrequest to the BidSwitch authorization endpoint.Pass this token in your request header
Authorization:Bearer ${TOKEN}
To view all existing requests for proposal, GET the following endpoint:
api/v1/dsp/<dsp-id>/rfp/
To sort the list of requests by the date of update in descending order, GET the following endpoint:
api/v1/dsp/<dsp-id>/rfp/<rfp-id>/
To search for a request by its name, GET the following endpoint:
api/v1/dsp/1/rfp/?query=rfp-name
Existing requests can be filtered by status, GET the following endpoint:
api/v1/dsp/1/rfp/?status=requested
To get details of a particular request, GET the following endpoint:
api/v1/dsp/<dsp-id>/rfp/<rfp-id>/
Creating New Request¶
To create a new request for proposal, POST to the following endpoint:
api/v1/dsp/<dsp-id>/rfp/
"contract_type", "private_auction" and "currency_code" fields are readonly.
See the POST request example below.
{
"name": "Proposed Deal",
"ssp_ids": [23, 255],
"start_time": "2025-01-23T15:28:24.394000Z",
"end_time": "2025-03-23T15:28:24.394000Z",
"auction_type": 2,
"device_type": ["MediaCenter"],
"content_type": ["display"],
"geo": [{"country": {"code": "AM", "regions": [{"code": "AG", "subregions": []}, {"code": "AR", "subregions": []}]}}],
"ads_txt_status": ["direct", "reseller", "unauthorized"],
"language": ["en"],
"content_categories": [{"code": "150", "subcategories": [{"code": "M"}]}, {"code": "151"}],
"submitted_by": "Jane Doe",
"contact_email": "janedoe@example.com",
"max_price": 2.34
}
Updating Request Status¶
This is the only change that can be made in an existing request. POST the new status to the following endpoint:
/api/v1/dsp/{dsp-id}/dsp_rfp/{rfp-id}
See the POST request example below.
{
"status": "requested"
}
A request can have the following statuses:
requested: for requests created by a Buyer and not yet reviewed by a Supplier; can only be set by Buyercanceled: for requests canceled by a Buyer, a canceled request can be updated; can only be set by Buyerresolved: status set by the Supplier after the Buyer accepts the deal; can only be set by Supplier
Request For Proposal API Fields¶
Request For Proposal API is represented by the following fields.
Optional fields are marked with *.
Field |
Type |
Description |
|---|---|---|
id |
integer |
The unique ID of the request |
name |
string |
The unique name of the request |
created* |
string |
The time when the request was created |
updated* |
string |
The time of the latest update |
contract_type |
string |
This field is hardcoded and cannot be edited; the only possible value is
|
start_time |
string |
The start time of the request. Should be earlier than the end time of the request |
end_time |
string |
The expiration time of the request. Should be later than the start time of the request |
private_auction |
integer |
This field is hardcoded and cannot be edited; the only possible value is |
auction_type |
integer |
The following values are supported:
|
currency_code |
string |
This field is hardcoded and cannot be edited; the only possible value is |
device_type |
array of strings |
The following values are supported:
|
content_type |
array of strings |
The following values are supported:
|
geo* |
array of dictionaries |
Countries and regions targeted by the request, for example |
language* |
array of strings |
Languages targeted by the request, codes from the DB table are supported, for
example |
content_categories |
array of dictionaries |
An array of key-value pairs representing content categories from IAB Taxonomy - for example, |
ads_txt_status* |
array of strings |
The following values are supported:
|
submitted_by |
string |
The contact person who submitted the request |
contact_email |
string |
The email address of the contact person |
max_price |
decimal |
Specifies the maximum monetary amount a DSP is willing to pay for a requested deal. This field must contain a non-zero value and represents the upper limit for acceptable pricing |
description* |
string |
The general information about the request and the targeted partners |