---
agentTools:
  projectIndex: https://docs.scope3.com/llms.txt
---

# API 1.2

This release models emissions by seller and buying method for more visibility into supply path; provides a flexible inventory field to accept either domain or app ID; splits out consumer device emissions; and sets up streaming video for wide release in the coming months.

New output fields will automatically populate the next time the API is called and you will get more debug information back from the API. Users will notice media and creative distribution emissions decline for 2023 measurement now that device emissions are broken out.

## Campaign API input changes:

### New fields:

| Field          | Values                                                                      | Required | Description                                                                                                                                                                                                                                                                                                                                                                                                 |
| :------------- | :-------------------------------------------------------------------------- | :------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `seller`       | string                                                                      | No       | The immediately upstream seller of the impression. For instance, if DSP buys from SSP A who buys from SSP B who buys from the publisher, the seller would be SSP A. The value for the seller field should be the common name or domain of the seller, and we will maintain and update a table of aliases to make this convenient. The matched seller will be returned in verbose output to confirm matches. |
| `buyingMethod` | `programmatic-open`, `programmatic-pmp`, `programmatic-guaranteed`,`direct` | No       | The buying method used to purchase the impression.                                                                                                                                                                                                                                                                                                                                                          |
| `inventoryId`  | string                                                                      | No       | The inventory ID field is an alternative to `site.domain` and `app.storeId`. This field can accept either a domain or app ID. When `channel` is not specified, we will use `inventoryId` to make an informed guess.                                                                                                                                                                                         |

### Modified fields:

* The `channel` field now accepts `streaming-video` (closed beta)
* The `channel` field is now optional (see `inventoryId` above)

## Campaign API output changes:

### Added fields in row-level output

* Add `matchedChannel`when channel is `mixed` to clarify what channel was selected
* Add `matchedProperty` to clarify what property was selected due to aliases
* Add `matchedSeller` to clarify which seller was matched if the `seller` field is provided
* Add `inventoryClassification` to determine whether inventory was treated as a masked or ad serving domain
* Add `compensationProvider` and `compensatedEmissions` when the seller provides compensation for a row
* Add `consumerDeviceEmissions` to break out the usage and embodied emissions assessed to the consumer use phase (this is currently in media distribution and creative distribution)
* Add  `creativeConsumerDeviceEmissions` to break out the usage and embodied emissions assessed to the consumer use phase in regards to serving and rendering the creative
* Add `supplyDirectness` to calculate the maximum depth of the seller for this row \[Programmatic Insights customers only]
* Add `gmpEligible` to specify whether this row would qualify for the proposed GMP standards \[GMP sellers only]

### Added fields in summary output

* Add `totalCompensatedEmissions`, the total compensated emissions
* Add `totalAdSelectionEmissions`, `totalMediaDistributionEmissions`, `totalConsumerDeviceEmissions`, `totalCreativeDistributionEmissions`, `totalCreativeConsumerDeviceEmissions` to sum the row-level fields
* Add `averageSupplyDirectness`, the average supply depth of the buy \[Programmatic Insights customers only]
* Add `gmpEligiblePercentage`, the percentage of impressions that were GMP eligible \[GMP sellers only]
* Add `matchedSellersPercentage`, the percentage of impressions with seller provided that were matched

### Changed fields:

* `mediaDistributionEmissions` no longer includes consumer device emissions
* `creativeDistributionEmissions` no longer includes consumer device emissions

## Creative API

* To model outstream video creatives, you can pass `duration` and `payload`. This will use the conventional model to calculate emissions (not the power model that we use for instream).
* `creativeDistributionEmissions`no longer includes consumer device emissions

## FAQ

### Which of these changes should be prioritized?

* We suggest starting with specifying seller and buying method, which will start to give better resolution on the supply path you bought through.