- 13 Minutes to read
Deal Commitments
- 13 Minutes to read
The dealcommitments
endpoint, also known as Commitment Manager, can be used to track Inventory Cost across Deal IDs to bundle for a specific flight. Track Programmatic Guaranteed (PG) Deals and Private Deal IDs targeted by campaigns. A spend commitment is a negotiated commitment made with a publisher to reach a specific inventory cost.
Track Inventory cost spend with the dealcommitments
endpoint in order to:
Simplify the process of consolidating and managing spend commitments.
Analyze spend, pacing and performance across all deals.
Track and manage deals efficiently to meet spend targets and maintain publisher relationships.
Endpoint
/traffic/dealcommitments
The following HTTP methods can be used:
Use the
GET
method to view an existing deal commitment.Use the
GET
search method to retrieve multiple deal commitments.Use the
POST
method to create a new deal commitment.Use the
PUT
method to update an existing deal commitment.Use the
DELETE
method to delete an existing deal commitment.
Required and Supported Fields
Deal Commitment
The dealcommitments
object contains the following fields.
Parameter | Definition | Data Type | Create | Update |
---|---|---|---|---|
| The ID of the deal commitment. |
| N/A | Required |
| The name of the deal commitment. |
| Required | Required |
| The type of deal commitment:
|
| Required | Required |
| The status of the deal commitment.
The status can only be set to INACTIVE if the current date is outside of the deal commitment If the current date is within the start and end date, the status can be set to ACTIVE or INACTIVE. |
| Required | Required |
| The name of the publisher associated with the deal commitment. |
| Required | Required |
| The granularity of advertiser tracking set for the deal commitment.
|
| Required | Required |
| The start date for the deal commitment. Date must be in ISO format. For example, 2025-01-01T00:00:00.00Z. Note
|
| Required | Required |
| The end date for the deal commitment. Date must be in the ISO format. For example, 2025-12-31T00:00:00.00Z. Note: The end date can be both in the past and future, but it cannot be set before the start date. |
| Required | Required |
| Specifies the currency. This value can only be set creating a deal commitment and must be a valid currency string. To learn more, refer to Currency Types. Some example values: USD, CAD. |
| Required | N/A |
| The total inventory cost for the deal commitment. The total inventory cost is the total amount of money to be paid to publishers for media or inventory and must be a positive decimal value, such as 1000.0. |
| Required | Required |
| A response-only field that displays the full name of the user who created the deal commitment. |
| N/A | N/A |
| A response-only field that displays the full name of the user who last updated the deal commitment. |
| N/A | N/A |
| A response-only field that displays the date the deal commitment was created. The date is in ISO format. For example, 2025-12-31T00:00:00.00Z. |
| N/A | N/A |
| A response-only field that displays the date the deal commitment was last updated. The date is in ISO format, such as 2025-12-31T00:00:00.00Z. |
| N/A | N/A |
| The seat that the deal commitment is associated with. Note: The seat ID can only be set during creation and cannot be updated. |
| Required | N/A |
| The list of IDs for deals that will be associated with the deal commitment. The list cannot be empty and must contain valid, non-deleted deals. Only PRIVATE and/or PGD deal types are allowed. |
| Required | Required |
| The list of accounts IDs that are included or excluded for the Important
|
| Required if | Required if |
| A response-only field that indicates how the inventory cost is pacing against the commitment timeline, assuming even spend across the period. Shown as a positive decimal percentage. Note: This field is only returned for retrieve/search (GET) calls. |
| N/A | N/A |
| A response-only field that displays the health of the deal commitment.
Note: This field is only returned for retrieve/search (GET) calls. |
| N/A | N/A |
| A response-only field that contains performance information for the deals associated with the commitment. This field is returned as a key-value map, where the keys are the deal IDs and the values are outlined in the dealPerformanceDataMap object. Note: This field is only returned for retrieve/search (GET) calls. |
| N/A | N/A |
| A response-only field that contains information about the accountIds associated with the deal commitment. Returned as a key-value map, where the keys are the account IDs and the values are the names of the advertisers with the associated ID. Note: This field is only returned for retrieve/search (GET) calls. |
| N/A | N/A |
Deal Performance Data Map
The dealPerformanceDataMap
object contains metrics associated with the deal. This is a response-only returned object that is only returned for retrieve/search (GET) calls.
Parameter | Definition | Data Type | Create | Update |
---|---|---|---|---|
| The name of the deal. |
| N/A | N/A |
| The ID of the exchange. |
| N/A | N/A |
| The deal ID for the exchange. |
| N/A | N/A |
| The number of bid requests. |
| N/A | N/A |
| The floor CPM. |
| N/A | N/A |
| The deal type.
|
| N/A | N/A |
Read a Deal Commitment
Get data about a specific deal commitment, identified by its ID.
GET traffic/dealcommitments/{id}
Parameters
Parameter | Parameter Type | Definition | Data Type | Required |
---|---|---|---|---|
| path | The ID of the deal commitment. |
| Y |
Sample Request URL
GET /traffic/dealcommitments/113
Sample Response
{
"response": {
"id": 113,
"name": "Deal Commitment Traffic API",
"type": "OTHER",
"status": "INACTIVE",
"publisherName": "AdsWizz",
"levelOfTracking": "EXCLUDE",
"dealIds": [
15381,
14087
],
"startDate": "2025-01-10T00:00:00Z",
"endDate": "2026-01-01T00:00:00Z",
"totalInventoryCost": 15000.0,
"createdByUser": "John Smith",
"updatedByUser": "John Smith",
"createdAt": "2025-02-27T08:58:28Z",
"updatedAt": "2025-02-27T09:30:29Z",
"seatId": 19,
"pacing": 0.0,
"commitmentHealth": "ON_TRACK",
"dealPerformanceDataMap": {
"15381": {
"name": "Deal Name 1",
"exchangeId": 4,
"exchangeDealId": "Exchange Deal ID 1",
"bidRequests": "4586",
"floorCpm": "119",
"dealType": "PGD"
},
"14087": {
"name": "Deal Name 2",
"exchangeId": 3,
"exchangeDealId": "Exchange Deal ID 2",
"bidRequests": "854",
"floorCpm": "48",
"dealType": "PRIVATE"
}
},
"accountIds": [
2211960,
2900086
],
"accountDataMap": {
"2211960": "Dark Knight",
"2900086": "Omniscope"
},
"currency": "EUR"
},
"errors": null,
"timeStamp": "2025-02-27T11:27:00.958Z"
}
Search for a list of Deal Commitments
Search for multiple seat deal commitments.
GET traffic/dealcommitments/search?commitmentsSeatId={}&page={}&limit={}&dir={}&sort={}
Parameters
Parameter | Parameter Type | Definition | Data Type | Required |
---|---|---|---|---|
| query | The deal commitment seat ID. This must match the current user seat, for security reasons. |
| Y |
| query | Specifies the page number. To apply pagination, both the page and the limit are required at the same time. |
| N |
| query | Specifies the limit to the number of deal commitments that can be returned. To apply pagination, both the page and the limit are required at the same time. |
| N |
| query | Specifies the sort direction.
If the sort field is passed in and the dir is omitted, the direction will default to ASC. |
| N |
| query | Specifies the column to sort by. Allowed values are (case insensitive): COMMITMENT_ID, COMMITMENT_NAME, TYPE, STATUS, PUBLISHER_NAME, START_DATE, END_DATE, COMMITMENT_HEALTH, PACING, CURRENCY, TOTAL_INVENTORY_COST, CREATED_BY_USER, UPDATED_AT |
| N |
Sample Request URL
GET traffic/dealcommitments/search?commitmentsSeatId=19&page=2&limit=2&dir=asc&sort=START_DATE
Sample Response
{
"response": [
{
"id": 94,
"name": "Deal Commitment 1",
"type": "UPFRONT",
"status": "ACTIVE",
"publisherName": "AdX",
"levelOfTracking": "INCLUDE",
"dealIds": [
6339,
6396
],
"startDate": "2023-05-21T00:00:00Z",
"endDate": "2026-05-21T00:00:00Z",
"totalInventoryCost": 5000.0,
"createdByUser": "John Smith",
"updatedByUser": "John Smith",
"createdAt": "2025-01-20T10:06:44Z",
"updatedAt": "2025-01-20T10:21:50Z",
"seatId": 19,
"pacing": 0.0,
"commitmentHealth": "AT_RISK",
"dealPerformanceDataMap": {
"6339": {
"name": "Deal Name 1",
"exchangeId": 5,
"exchangeDealId": "Exchange Deal ID 1",
"bidRequests": "3204",
"floorCpm": "28",
"dealType": "PGD"
},
"6396": {
"name": "Deal Name 2",
"exchangeId": 2,
"exchangeDealId": "Exchange Deal ID 2",
"bidRequests": "8356",
"floorCpm": "119",
"dealType": "PRIVATE"
}
},
"accountIds": [
3230292
],
"accountDataMap": {
"3230292": "Test Advertiser"
},
"currency": "USD"
},
{
"id": 96,
"name": "Deal Commitment 2",
"type": "UPFRONT",
"status": "ACTIVE",
"publisherName": "AdX",
"levelOfTracking": "INCLUDE",
"dealIds": [
6339,
6396
],
"startDate": "2023-05-22T00:00:00Z",
"endDate": "2026-05-21T00:00:00Z",
"totalInventoryCost": 5000.0,
"createdByUser": "John Smith",
"updatedByUser": "John Smith",
"createdAt": "2025-01-20T11:26:42Z",
"updatedAt": "2025-01-20T11:39:11Z",
"seatId": 19,
"pacing": 0.0,
"commitmentHealth": "AT_RISK",
"dealPerformanceDataMap": {
"6339": {
"name": "Deal Name 1",
"exchangeId": 7,
"exchangeDealId": "Exchange Deal ID 1",
"bidRequests": "6200",
"floorCpm": "37",
"dealType": "PGD"
},
"6396": {
"name": "Deal Name 2",
"exchangeId": 3,
"exchangeDealId": "Exchange Deal ID 2",
"bidRequests": "5284",
"floorCpm": "111",
"dealType": "PRIVATE"
}
},
"accountIds": [
3230292
],
"accountDataMap": {
"3230292": "Test Advertiser"
},
"currency": "USD"
}
],
"errors": null,
"timeStamp": "2025-02-27T11:38:34.663Z"
}
Create a New Deal Commitment
Create a deal commitment.
POST traffic/dealcommitments
Parameters
All fields are specified in the request body.
Sample Request URL
POST /traffic/dealcommitments
Sample Request Body
The following request creates a new deal commitment, with included advertiser and 2 associated deals.
{
"name": "Deal Commitment Traffic API Create",
"type": "UPFRONT",
"status": "ACTIVE",
"publisherName": "AdX",
"levelOfTracking": "INCLUDE",
"dealIds": [6339, 6396],
"startDate": "2025-01-01T00:00:00.00Z",
"endDate": "2025-12-31T00:00:00.00Z",
"currency": "USD",
"totalInventoryCost": 5000.0,
"seatId": 19,
"accountIds": [3230292]
}
Sample Response
{
"response": {
"id": 120,
"name": "Deal Commitment Traffic API Create",
"type": "UPFRONT",
"status": "ACTIVE",
"publisherName": "AdX",
"levelOfTracking": "INCLUDE",
"dealIds": [
6339,
6396
],
"startDate": "2025-01-01T00:00:00Z",
"endDate": "2025-12-31T00:00:00Z",
"totalInventoryCost": 5000.0,
"createdByUser": "John Smith",
"updatedByUser": "John Smith",
"createdAt": "2025-02-27T08:58:28Z",
"updatedAt": "2025-02-27T08:58:29Z",
"seatId": 19,
"accountIds": [
3230292
],
"accountDataMap": {
"3230292": "Alex Cornetto Test Advertiser"
},
"currency": "USD"
},
"errors": null,
"timeStamp": "2025-02-27T08:58:29.325Z"
}
Update an existing Deal Commitment
Update an existing deal commitment.
PUT traffic/dealcommitments/{id}
Parameters
Parameter | Parameter Type | Definition | Data Type | Required |
---|---|---|---|---|
| path | The ID of the deal commitment. |
| Y |
Sample Request URL
PUT /traffic/dealcommitments/120
Sample Request Body
The following request updates all editable fields for a deal commitment.
{
"name": "Deal Commitment Traffic API Update",
"type": "OTHER",
"status": "INACTIVE",
"publisherName": "AdsWizz",
"levelOfTracking": "EXCLUDE",
"dealIds": [15381, 14087],
"startDate": "2025-01-10T00:00:00.00Z",
"endDate": "2026-01-01T00:00:00.00Z",
"totalInventoryCost": 15000.0,
"accountIds": [2900086, 2211960]
}
Sample Response
{
"response": {
"id": 222,
"name": "Deal Commitment Traffic API Update",
"type": "OTHER",
"status": "INACTIVE",
"publisherName": "AdsWizz",
"levelOfTracking": "EXCLUDE",
"startDate": "2025-01-10T00:00:00Z",
"endDate": "2026-01-01T00:00:00Z",
"totalInventoryCost": 15000.0,
"createdByUser": "John Smith",
"updatedByUser": "John Smith",
"createdAt": "2025-04-09T07:17:21Z",
"updatedAt": "2025-04-09T07:18:21Z",
"seatId": 19,
"dealIds": [
15381,
14087
],
"accountIds": [
2211960,
2900086
],
"accountDataMap": {
"2211960": "Dark Knight",
"2900086": "Omniscope IP"
},
"currency": "USD"
},
"errors": null,
"timeStamp": "2025-04-09T07:18:23.885Z"
}
Delete one or more deal commitments
Delete one or more deal commitments that belong to a given seat.
Important
In order to delete a commitment, ensure that the commitment ID associated with the commitment has the following constraints.
Belongs to the current user seat.
Needs to be valid
commitmentIds
.
If all the IDs are in a valid format and exist in the database, but some do not belong to the current user's seat, only those for which the user has access will be deleted.
DELETE traffic/dealcommitments?commitmentIds={}
Parameters
Parameter | Parameter Type | Definition | Data Type | Required |
---|---|---|---|---|
| query | A comma separated list of deal commitment IDs to be deleted. The commitments must belong to the current user seat. |
| Y |
Sample Request URL
DELETE traffic/dealcommitments?commitmentIds=116,117
Sample Response
{
"response": "All valid entities matching the current user seat have been deleted",
"errors": null,
"timeStamp": "2025-02-27T09:43:46.703Z"
}