fix: Add missing impressions and paused fields to package request schemas#756
Merged
Merged
Conversation
- Add impressions field to package-request.json and update-media-buy-request.json - Add paused field to package-request.json (default: false) - Update create_media_buy and update_media_buy documentation - Fix jest missing @jest/test-sequencer dependency These fields were defined in core/package.json but missing from request schemas, making it impossible to set impression goals or initial paused state.
BaiyuScope3
commented
Jan 13, 2026
bokelley
approved these changes
Jan 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Schema inconsistency report identified that
core/package.jsondefines fields that cannot be set when creating or updating packages:core/package.jsonpackage-request.jsonupdate-media-buy-request.jsonimpressionspausedThis made it impossible for buyers to:
Solution
Added the missing fields to the request schemas:
package-request.json:impressions(number, optional) - Impression goal for the packagepaused(boolean, optional, default: false) - Create package in paused stateupdate-media-buy-request.json:impressions(number, optional) - Update impression goal for the packageWhy add
impressions?Buyers need to specify delivery goals. The
impressionsfield was defined in the entity schema but unreachable via API, making impression-based campaign planning impossible.Why add
pausedto creation?Common use cases require creating packages in a paused state:
Since
update_media_buyalready supportspaused, it makes sense forcreate_media_buyto support it too—avoiding the need for an immediate follow-up API call.Why NOT change
format_idsvsformat_ids_to_provide?We evaluated the naming inconsistency between:
format_ids(inpackage-request.json) - buyer's selectionformat_ids_to_provide(incore/package.json) - publisher's confirmationDecision: Keep as-is. This is intentional design:
format_ids_to_provideclearly communicates "action required" to the buyerChanges
static/schemas/source/media-buy/package-request.json- Addedimpressionsandpausedstatic/schemas/source/media-buy/update-media-buy-request.json- Addedimpressionsdocs/media-buy/task-reference/create_media_buy.mdx- Updated parameter tabledocs/media-buy/task-reference/update_media_buy.mdx- Updated parameter table.changeset/fix-package-request-fields.md- Changeset for release notes@jest/test-sequencerdev dependencyTesting
All existing tests pass: