From c635882775234c7024bd86c3c202abe9c1ea8a31 Mon Sep 17 00:00:00 2001 From: Nastassia Fulconis Date: Mon, 10 Nov 2025 08:18:37 -0800 Subject: [PATCH 1/2] Add package-level pricing fields to delivery reporting schema - Add pricing_model, rate, and currency fields to by_package items - Ensures schema matches documentation from PR #179 - All tests passing --- .changeset/add-package-pricing-schema.md | 12 ++++++++++++ .../media-buy/get-media-buy-delivery-response.json | 14 ++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 .changeset/add-package-pricing-schema.md diff --git a/.changeset/add-package-pricing-schema.md b/.changeset/add-package-pricing-schema.md new file mode 100644 index 0000000000..321fa6ae1f --- /dev/null +++ b/.changeset/add-package-pricing-schema.md @@ -0,0 +1,12 @@ +--- +"adcontextprotocol": minor +--- + +Add package-level pricing fields to delivery reporting schema to match documentation. + +**Schema Changes:** +- Added `pricing_model` field to `by_package` items in `get-media-buy-delivery-response.json` +- Added `rate` field to `by_package` items for pricing rate information +- Added `currency` field to `by_package` items to support per-package currency + +These 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..15fafc7143 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,6 +180,20 @@ "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": [ From 161cb4ee662d79ddfd2756c3b52f324b518e1bca Mon Sep 17 00:00:00 2001 From: Nastassia Fulconis Date: Mon, 10 Nov 2025 08:18:37 -0800 Subject: [PATCH 2/2] Add required package-level pricing fields to delivery reporting schema - Add pricing_model, rate, and currency as required fields to by_package items - Ensures schema matches documentation from PR #179 - All tests passing --- .changeset/add-package-pricing-schema.md | 12 ++++++++++++ .../get-media-buy-delivery-response.json | 19 ++++++++++++++++++- 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 .changeset/add-package-pricing-schema.md 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" ] } ]