create_media_buy
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | Advertiser brand name (for rules check) | |
| agent_id | No | Optional agent identifier (telemetry; feeds ADR-066 behavioral-risk shadow logging). | |
| category | No | Product category (for rules check) | |
| end_date | No | Campaign end date (ISO 8601) | |
| bid_cents | Yes | Bid amount in cents | |
| start_date | No | Campaign start date (ISO 8601) | |
| campaign_id | No | Parent campaign UUID. When set, the campaign's default pacing + frequency cap cascade into this buy unless explicitly overridden. | |
| budget_cents | Yes | Total budget in cents | |
| creative_ref | No | Creative asset URL or reference | |
| inventory_id | Yes | Target inventory slot UUID | |
| advertiser_id | Yes | Advertiser account UUID | |
| agent_mandate | No | Optional signed agent mandate (ADR-066). Verified by the auction-entry gate. | |
| creative_data | No | Creative metadata (JSON) | |
| pricing_model | Yes | Pricing model for the buy | |
| quality_score | No | Quality score 0-1 (default: 0.5) | |
| pacing_strategy | No | Override pacing strategy. Falls back to campaign default, then "even". | |
| context_relevance | No | Context relevance 0-1 (default: 0) | |
| frequency_cap_session | No | Per-session impression cap for this buy. NULL means defer to inventory cap. Falls back to campaign default, then 3. |