Deal Commitments
  • 13 Minutes to read

    Deal Commitments


      Article summary

      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

      id

      The ID of the deal commitment.

      integer

      N/A

      Required

      name

      The name of the deal commitment.

      string

      Required

      Required

      type

      The type of deal commitment:

      • UPFRONT - media buying commitments where advertisers secure premium inventory ahead of time. These deals lock in pricing and availability, ensuring brands get priority access to high-value placements. While historically tied to linear TV, Upfronts have evolved to include digital video, streaming and even display inventory, depending on the publisher and deal structure.

      • OTHER - any scattered buys that do not identify as an upfront.

      string

      Required

      Required

      status

      The status of the deal commitment.

      • ACTIVE

      • INACTIVE

      The status can only be set to INACTIVE if the current date is outside of the deal commitment startDate and endDate for a create/update operation.

      If the current date is within the start and end date, the status can be set to ACTIVE or INACTIVE.

      string

      Required

      Required

      publisherName

      The name of the publisher associated with the deal commitment.

      string

      Required

      Required

      levelOfTracking

      The granularity of advertiser tracking set for the deal commitment.

      • ALL - track the commitment with all advertisers.

      • INCLUDE - enter specific advertisers to track the commitment with.

      • EXCLUDE - enter specific advertisers to not track the commitment with. The commitment will be tracked under all other advertisers except for the ones entered.

      string

      Required

      Required

      startDate

      The start date for the deal commitment. Date must be in ISO format. For example, 2025-01-01T00:00:00.00Z.

      Note

      • The start date cannot be after the end date.

      • The start date can be in the past, but it is limited at most to 2 years for historical data.

      string

      Required

      Required

      endDate

      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.

      string

      Required

      Required

      currency

      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.

      string

      Required

      N/A

      totalInventoryCost

      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.

      number

      Required

      Required

      createdByUser

      A response-only field that displays the full name of the user who created the deal commitment.

      string

      N/A

      N/A

      updatedByUser

      A response-only field that displays the full name of the user who last updated the deal commitment.

      string

      N/A

      N/A

      createdAt

      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.

      string

      N/A

      N/A

      updatedAt

      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.

      string

      N/A

      N/A

      seatId

      The seat that the deal commitment is associated with.

      Note: The seat ID can only be set during creation and cannot be updated.

      integer

      Required

      N/A

      dealIds

      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.

      array

      Required

      Required

      accountIds

      The list of accounts IDs that are included or excluded for the levelOfTracking set for the deal commitment.

      Important

      • If the level of tracking is set to ALL, the list of account IDs should be empty or null.

      • If the level of tracking is set to INCLUDE or EXCLUDE, then the list of account IDs is required and should have at least one valid account ID.

      array

      Required if levelOfTracking is set to INCLUDE or EXCLUDE

      Required if levelOfTracking is set to INCLUDE or EXCLUDE

      pacing

      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.

      number

      N/A

      N/A

      commitmentHealth

      A response-only field that displays the health of the deal commitment.

      • ON_TRACK - pacing is 95% or higher. Commitments that have not started will have a default health set to ON_TRACK.

      • AT_RISK - pacing is below 95%.

      Note: This field is only returned for retrieve/search (GET) calls.

      string

      N/A

      N/A

      dealPerformanceDataMap

      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.

      map

      N/A

      N/A

      accountDataMap

      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.

      map

      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

      name

      The name of the deal.

      string

      N/A

      N/A

      exchangeId

      The ID of the exchange.

      integer

      N/A

      N/A

      exchangeDealId

      The deal ID for the exchange.

      string

      N/A

      N/A

      bidRequests

      The number of bid requests.

      string

      N/A

      N/A

      floorCpm

      The floor CPM.

      string

      N/A

      N/A

      dealType

      The deal type.

      • PGD

      • PRIVATE

      string

      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

      id

      path

      The ID of the deal commitment.

      integer

      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

      commitmentSeatId

      query

      The deal commitment seat ID. This must match the current user seat, for security reasons.

      integer

      Y

      page

      query

      Specifies the page number.

      To apply pagination, both the page and the limit are required at the same time.

      integer

      N

      limit

      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.

      integer

      N

      dir

      query

      Specifies the sort direction.

      • ASC: data is sorted in ascending order.

      • DESC: data is sorted in descending order.

      If the sort field is passed in and the dir is omitted, the direction will default to ASC.

      string

      N

      sort

      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

      string

      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

      id

      path

      The ID of the deal commitment.

      integer

      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

      commitmentIds

      query

      A comma separated list of deal commitment IDs to be deleted.

      The commitments must belong to the current user seat.

      string

      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"
      }


      Was this article helpful?