diff --git a/.changeset/add-package-pricing-schema.md b/.changeset/add-package-pricing-schema.md new file mode 100644 index 0000000000..b041d31abb --- /dev/null +++ b/.changeset/add-package-pricing-schema.md @@ -0,0 +1,12 @@ +--- +"adcontextprotocol": minor +--- + +Add required package-level pricing fields to delivery reporting schema to match documentation. + +**Schema Changes:** +- Added required `pricing_model` field to `by_package` items in `get-media-buy-delivery-response.json` +- Added required `rate` field to `by_package` items for pricing rate information +- Added required `currency` field to `by_package` items to support per-package currency + +These required fields enable buyers to see pricing information directly in delivery reports for better cost analysis and reconciliation, as documented in the recently enhanced reporting documentation (#179). diff --git a/static/schemas/v1/media-buy/get-media-buy-delivery-response.json b/static/schemas/v1/media-buy/get-media-buy-delivery-response.json index df74e8211d..555fcef841 100644 --- a/static/schemas/v1/media-buy/get-media-buy-delivery-response.json +++ b/static/schemas/v1/media-buy/get-media-buy-delivery-response.json @@ -180,11 +180,28 @@ "type": "number", "description": "Delivery pace (1.0 = on track, <1.0 = behind, >1.0 = ahead)", "minimum": 0 + }, + "pricing_model": { + "$ref": "/schemas/v1/enums/pricing-model.json", + "description": "The pricing model used for this package (e.g., cpm, cpcv, cpp). Indicates how the package is billed and which metrics are most relevant for optimization." + }, + "rate": { + "type": "number", + "description": "The pricing rate for this package in the specified currency. For fixed-rate pricing, this is the agreed rate (e.g., CPM rate of 12.50 means $12.50 per 1,000 impressions). For auction-based pricing, this represents the effective rate based on actual delivery.", + "minimum": 0 + }, + "currency": { + "type": "string", + "description": "ISO 4217 currency code (e.g., USD, EUR, GBP) for this package's pricing. Indicates the currency in which the rate and spend values are denominated. Different packages can use different currencies when supported by the publisher.", + "pattern": "^[A-Z]{3}$" } }, "required": [ "package_id", - "spend" + "spend", + "pricing_model", + "rate", + "currency" ] } ]