Trillboards DOOH Advertising
このMCPでできること
Manages digital out-of-home advertising campaigns and media buys across screens, with edge-AI audience sensing, impression tracking, and attribution analytics.
ツール
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['signal_type', 'parameters'], 'properties': {'parameters': {'type': 'object', 'properties': {'income': {'enum': ['high', 'upper_mid', 'mid', 'lower_mid', 'low'], 'type': 'string'}, 'lifestyle': {'type': 'string', 'description': 'Lifestyle segment key'}, 'purchase_intent': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'iab_audience_segment_ids': {'type': 'array', 'items': {'type': 'string', 'pattern': '^(?:iab:)?[1-9]\\d*$'}, 'maxItems': 50, 'description': 'Explicit registered IAB Audience Taxonomy 1.1 IDs; inferred labels are never auto-mapped'}}, 'description': 'Signal parameters to activate as targeting', 'additionalProperties': False}, 'screen_ids': {'type': 'array', 'items': {'type': 'string', 'maxLength': 50, 'minLength': 1}, 'maxItems': 500, 'description': 'Specific screens to activate on (optional, defaults to all partner screens)'}, 'signal_type': {'type': 'string', 'maxLength': 50, 'minLength': 1, 'description': 'Type of signal to activate (e.g., "audience", "venue", "behavior")'}, 'destinations': {'type': 'array', 'items': {'type': 'object', 'properties': {'type': {'enum': ['dsp', 'dmp', 'data_clean_room'], 'type': 'string'}, 'seat_id': {'type': 'string'}, 'platform': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'Where to push activated segments'}, 'signal_agent_segment_id': {'type': 'string', 'maxLength': 120}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['metric'], 'properties': {'metric': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'The metric to check for anomalies. Extracted from observation payload (e.g., face_count, vehicle_count, confidence, emotional_engagement, crowd_energy, noise_level)'}, 'screen_id': {'type': 'string', 'maxLength': 100, 'description': 'Filter to a specific screen (mongo ID). Optional.'}, 'venue_type': {'type': 'string', 'maxLength': 100, 'description': 'Filter to a specific venue type. Optional.'}, 'lookback_hours': {'type': 'number', 'maximum': 168, 'minimum': 1, 'description': 'Hours of historical data to compute baseline from (default: 24, max: 168)'}, 'threshold_sigma': {'type': 'number', 'maximum': 5, 'minimum': 1, 'description': 'Number of standard deviations to consider anomalous (default: 2.0, range: 1.0-5.0)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['impressions'], 'properties': {'impressions': {'type': 'array', 'items': {'type': 'object', 'required': ['fingerprint', 'ad_id'], 'properties': {'ad_id': {'type': 'string', 'pattern': '^[0-9a-f]{24}$', 'description': 'Advertisement ID'}, 'timestamp': {'type': 'string', 'format': 'date-time', 'description': 'ISO 8601 timestamp'}, 'fingerprint': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Device fingerprint'}, 'duration_seconds': {'type': 'number', 'maximum': 3600, 'description': 'Display duration', 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'maxItems': 100, 'minItems': 1, 'description': 'Array of impression objects (max 100)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['screen_id', 'intent'], 'properties': {'intent': {'type': 'string', 'maxLength': 1000, 'minLength': 1, 'description': 'Natural language description of what the screen should sense/detect/measure'}, 'screen_id': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Screen ID (mongo ID) to configure sensing for'}, 'auto_deploy': {'type': 'boolean', 'description': 'If true, automatically push the profile to the device. If false (default), generate only for review.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Campaign name'}, 'end_date': {'type': 'string', 'description': 'Campaign end date (ISO 8601)'}, 'targeting': {'type': 'object', 'properties': {'geo': {'type': 'object', 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'lng': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'city': {'type': 'string', 'maxLength': 100}, 'state': {'type': 'string', 'maxLength': 100}, 'country': {'type': 'string', 'maxLength': 100}, 'radius_km': {'type': 'number', 'maximum': 500, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'schedule': {'type': 'object', 'properties': {'days': {'type': 'array', 'items': {'type': 'integer', 'maximum': 6, 'minimum': 0}, 'description': '0=Sun..6=Sat'}, 'hours': {'type': 'array', 'items': {'type': 'integer', 'maximum': 23, 'minimum': 0}, 'description': '0-23'}}, 'additionalProperties': False}, 'audience_profile': {'type': 'object', 'properties': {'income': {'type': 'string'}, 'lifestyle': {'type': 'string'}, 'min_attention': {'type': 'number', 'maximum': 1, 'minimum': 0}}, 'additionalProperties': False}}, 'description': 'Additional targeting criteria', 'additionalProperties': False}, 'budget_cpm': {'type': 'number', 'maximum': 1000, 'description': 'Bid CPM in USD (default: 4.0)', 'exclusiveMinimum': 0}, 'screen_ids': {'type': 'array', 'items': {'type': 'string', 'maxLength': 50, 'minLength': 1}, 'maxItems': 500, 'description': 'Specific screen IDs to target (optional, overrides venue/geo targeting)'}, 'start_date': {'type': 'string', 'description': 'Campaign start date (ISO 8601)'}, 'venue_types': {'type': 'array', 'items': {'type': 'string', 'maxLength': 50}, 'maxItems': 20, 'description': 'Venue types to target: transit, retail, outdoor, office, etc.'}, 'creative_url': {'type': 'string', 'format': 'uri', 'description': 'URL to video/image creative asset'}, 'creative_type': {'enum': ['video', 'image', 'vast'], 'type': 'string', 'description': 'Creative format'}, 'daily_budget_usd': {'type': 'number', 'maximum': 100000, 'minimum': 0, 'description': 'Daily budget cap in USD'}, 'total_budget_usd': {'type': 'number', 'maximum': 10000000, 'minimum': 0, 'description': 'Total campaign budget in USD'}, 'creative_duration': {'type': 'integer', 'maximum': 120, 'minimum': 1, 'description': 'Duration in seconds (default: 15)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['campaign_id', 'experiment_type'], 'properties': {'target_mde': {'type': 'number', 'maximum': 1, 'minimum': 0.01, 'description': 'Minimum detectable effect (relative, e.g. 0.10 = 10% lift). Default: 0.10'}, 'campaign_id': {'type': 'string', 'maxLength': 128, 'minLength': 1, 'description': 'Campaign identifier'}, 'holdout_pct': {'type': 'number', 'maximum': 0.5, 'minimum': 0.05, 'description': 'Fraction of devices to hold out (0.05-0.50). Default: 0.10'}, 'control_dmas': {'type': 'array', 'items': {'type': 'string', 'maxLength': 20}, 'maxItems': 200, 'description': 'DMA codes for control group (no ads)'}, 'target_alpha': {'type': 'number', 'maximum': 0.1, 'minimum': 0.001, 'description': 'Significance level (0.05 or 0.01). Default: 0.05'}, 'target_power': {'type': 'number', 'maximum': 0.99, 'minimum': 0.5, 'description': 'Statistical power (0.80 or 0.90). Default: 0.80'}, 'treatment_dmas': {'type': 'array', 'items': {'type': 'string', 'maxLength': 20}, 'maxItems': 200, 'description': 'DMA codes for treatment group (get ads)'}, 'experiment_type': {'enum': ['geo_holdout', 'ghost_ads', 'psm'], 'type': 'string', 'description': 'Experiment type: geo_holdout (matched DMAs), ghost_ads (PSA control), psm (propensity score matching)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Media buy name'}, 'brand': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'domain': {'type': 'string'}}, 'description': 'Brand reference', 'additionalProperties': True}, 'context': {'type': 'object', 'additionalProperties': {}}, 'buy_spec': {'type': 'object', 'properties': {'geo': {'type': 'object', 'properties': {'lat': {'type': 'number'}, 'lng': {'type': 'number'}, 'city': {'type': 'string'}, 'state': {'type': 'string'}, 'country': {'type': 'string'}, 'radius_km': {'type': 'number'}}, 'additionalProperties': False}, 'budget': {'type': 'object', 'properties': {'bid_cpm': {'type': 'number'}, 'daily_usd': {'type': 'number'}, 'total_usd': {'type': 'number'}}, 'additionalProperties': False}, 'schedule': {'type': 'object', 'properties': {'days': {'type': 'array', 'items': {'type': 'number'}}, 'hours': {'type': 'array', 'items': {'type': 'number'}}, 'end_date': {'type': 'string'}, 'start_date': {'type': 'string'}}, 'additionalProperties': False}, 'screen_ids': {'type': 'array', 'items': {'type': 'string'}}, 'venue_types': {'type': 'array', 'items': {'type': 'string'}}, 'audience_profile': {'type': 'object', 'additionalProperties': {}}}, 'description': 'Buy specification (legacy)', 'additionalProperties': False}, 'creative': {'type': 'object', 'properties': {'url': {'type': 'string'}, 'type': {'enum': ['video', 'image', 'vast'], 'type': 'string'}, 'duration_seconds': {'type': 'number'}}, 'additionalProperties': False}, 'end_time': {'type': 'string', 'description': 'ISO 8601 end time'}, 'packages': {'type': 'array', 'items': {'type': 'object', 'properties': {'budget': {'anyOf': [{'type': 'number', 'minimum': 0}, {'type': 'object', 'properties': {'amount': {'type': 'number'}, 'currency': {'type': 'string'}}, 'additionalProperties': True}]}, 'bid_price': {'type': 'number', 'minimum': 0}, 'product_id': {'type': 'string'}, 'impressions': {'type': 'number', 'minimum': 0}, 'pricing_option_id': {'type': 'string'}, 'targeting_overlay': {'type': 'object', 'additionalProperties': {}}}, 'additionalProperties': True}, 'description': 'AdCP product packages to buy'}, 'buyer_ref': {'type': 'string', 'maxLength': 200, 'description': 'External reference ID from the buyer/agency'}, 'start_time': {'type': 'string', 'description': 'ISO 8601 start time'}, 'total_budget': {'type': 'object', 'properties': {'amount': {'type': 'number'}, 'currency': {'type': 'string'}}, 'additionalProperties': True}, 'idempotency_key': {'type': 'string', 'maxLength': 200}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url', 'events'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'HTTPS endpoint URL to receive webhook events'}, 'events': {'type': 'array', 'items': {'enum': ['device.online', 'device.offline', 'impression.recorded', 'campaign.allocated', 'payout.processed', 'programmatic.ad_started', 'programmatic.ad_ended', 'programmatic.no_fill', 'programmatic.error', 'sensing.threshold_crossed', 'audience.spike', 'audience.venue_busy', 'audience.purchase_intent', 'audience.demographics_update', 'venue.traffic_summary', 'screen_group.created', 'screen_group.updated', 'screen_group.deleted', 'screen_group.member.added', 'screen_group.member.removed', 'screen_group.content_policy.updated', 'screen_group.sensing_config.updated', 'fleet_command.completed', 'fleet_command.failed'], 'type': 'string'}, 'maxItems': 10, 'minItems': 1, 'description': 'Events to subscribe to'}, 'secret': {'type': 'string', 'maxLength': 100, 'description': 'HMAC signing secret for verifying webhook authenticity (optional but recommended)'}, 'description': {'type': 'string', 'maxLength': 500, 'description': 'Human-readable description for this webhook'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['signal_a', 'signal_b'], 'properties': {'filters': {'type': 'object', 'properties': {'daypart': {'enum': ['morning', 'lunch', 'afternoon', 'evening', 'night'], 'type': 'string', 'description': 'Filter by daypart: morning, lunch, afternoon, evening, night'}, 'dma_code': {'type': 'string', 'maxLength': 20, 'description': 'Filter by DMA code for geographic region'}, 'time_range': {'type': 'object', 'properties': {'end': {'type': 'string', 'description': 'End time (ISO 8601)'}, 'start': {'type': 'string', 'description': 'Start time (ISO 8601)'}}, 'description': 'Time range filter', 'additionalProperties': False}, 'venue_type': {'type': 'string', 'maxLength': 100, 'description': 'Filter to a specific venue type'}}, 'description': 'Optional filters to narrow the correlation analysis', 'additionalProperties': False}, 'signal_a': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'First signal to correlate (e.g., face_count, attention_score, crowd_energy, emotional_engagement, vehicle_count, noise_level, purchase_intent, ad_fill_rate)'}, 'signal_b': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Second signal to correlate against signal_a'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['device_id'], 'properties': {'device_id': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Your internal device identifier to delete'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['webhook_id'], 'properties': {'webhook_id': {'type': 'string', 'pattern': '^(wh_[a-z0-9]+_[a-f0-9]+|[a-f0-9]{24})$', 'description': 'Webhook ID to delete (wh_xxx format or legacy ObjectId)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['path', 'method'], 'properties': {'path': {'type': 'string', 'maxLength': 256, 'minLength': 1, 'description': 'The operation path (OpenAPI template form, e.g. "/v1/data/screens/{screenId}/audience").'}, 'method': {'type': 'string', 'maxLength': 16, 'minLength': 1, 'description': 'HTTP method (case-insensitive).'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['fingerprint'], 'properties': {'status': {'enum': ['online', 'playing', 'idle', 'error'], 'type': 'string', 'description': 'Current device status'}, 'fingerprint': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Device fingerprint (e.g., "P_abc123")'}, 'current_ad_id': {'type': 'string', 'pattern': '^[0-9a-f]{24}$', 'description': 'Currently playing ad ID (if status is "playing")'}, 'error_message': {'type': 'string', 'maxLength': 500, 'description': 'Error message (if status is "error")'}, 'uptime_seconds': {'type': 'integer', 'minimum': 0, 'description': 'Device uptime in seconds'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 200, 'minimum': 1, 'description': 'Maximum screens to return (default: 50, max: 200)'}, 'location': {'type': 'object', 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude for radius search'}, 'lng': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude for radius search'}, 'city': {'type': 'string', 'maxLength': 100, 'description': 'City name'}, 'state': {'type': 'string', 'maxLength': 100, 'description': 'State/province'}, 'radius_km': {'type': 'number', 'maximum': 500, 'description': 'Search radius in kilometers', 'exclusiveMinimum': 0}}, 'description': 'Location filter — use city/state OR lat/lng/radius_km', 'additionalProperties': False}, 'venue_types': {'type': 'array', 'items': {'type': 'string', 'maxLength': 50}, 'maxItems': 20, 'description': 'Filter by venue types: transit, retail, outdoor, health_beauty, point_care, education, office, entertainment, government, financial, residential'}, 'audience_profile': {'type': 'object', 'properties': {'income': {'enum': ['high', 'upper_mid', 'mid', 'lower_mid', 'low'], 'type': 'string', 'description': 'Target income level'}, 'lifestyle': {'type': 'string', 'maxLength': 50, 'description': 'Target lifestyle segment (professional, student, fitness, luxury_shopper, tech_savvy, etc.)'}, 'min_attention': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'Minimum attention score (0-1)'}}, 'description': 'Filter screens by current audience characteristics', 'additionalProperties': False}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['campaign_id', 'destination'], 'properties': {'campaign_id': {'type': 'string', 'maxLength': 128, 'minLength': 1, 'description': 'Campaign identifier'}, 'destination': {'enum': ['ttd', 'dv360', 'meta', 'cadent', 'mediaocean'], 'type': 'string', 'description': 'DSP destination: ttd (The Trade Desk), dv360 (Google DV360), meta (Meta/Facebook), cadent, mediaocean'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['dataset', 'filters'], 'properties': {'cursor': {'type': 'string', 'maxLength': 2000, 'description': "The previous page's metadata.next_cursor, to read the next page (same dataset and filters)."}, 'format': {'enum': ['json'], 'type': 'string', 'description': 'Export format (default: json). Currently only JSON is supported.'}, 'dataset': {'enum': ['observations', 'audience', 'vehicle', 'cross_signal'], 'type': 'string', 'description': 'Type of dataset to export'}, 'filters': {'type': 'object', 'properties': {'geo': {'type': 'string', 'maxLength': 12, 'description': 'Filter by geohash-6 prefix'}, 'time_range': {'type': 'object', 'properties': {'end': {'type': 'string', 'description': 'End date/time (ISO 8601 or YYYY-MM-DD)'}, 'start': {'type': 'string', 'description': 'Start date/time (ISO 8601 or YYYY-MM-DD)'}}, 'description': 'Time range filter (required for observations/audience/vehicle)', 'additionalProperties': False}, 'venue_type': {'type': 'array', 'items': {'type': 'string', 'maxLength': 50}, 'maxItems': 20, 'description': 'Filter by venue types'}, 'observation_family': {'type': 'array', 'items': {'type': 'string', 'maxLength': 50}, 'maxItems': 10, 'description': 'Filter by observation families (for observations dataset)'}}, 'description': 'Filters to apply to the export', 'additionalProperties': False}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 200, 'minimum': 1, 'description': 'Maximum results to return. Default: 10, max: 200.'}, 'query': {'type': 'string', 'maxLength': 1000, 'minLength': 1, 'description': 'Natural-language description of the target moment. Be descriptive about venue, time, audience, behavior, and conditions.'}, 'venue_type': {'type': 'string', 'maxLength': 100, 'description': 'Filter results to a specific venue type. Optional.'}, 'min_similarity': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'Minimum cosine similarity threshold (0-1). Default: 0.7. Lower values return more but less relevant results.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'end_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'End date in YYYY-MM-DD format (optional, defaults to today)'}, 'group_by': {'enum': ['day', 'week', 'month', 'device'], 'type': 'string', 'description': 'How to group the analytics data'}, 'device_id': {'type': 'string', 'maxLength': 100, 'description': 'Filter to a specific device (optional)'}, 'start_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Start date in YYYY-MM-DD format (optional, defaults to 30 days ago)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['campaign_id'], 'properties': {'campaign_id': {'type': 'string', 'maxLength': 128, 'minLength': 1, 'description': 'Campaign identifier'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['campaign_id'], 'properties': {'end_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'End date (YYYY-MM-DD). Optional, defaults to today.'}, 'start_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Start date (YYYY-MM-DD). Optional, defaults to campaign start.'}, 'campaign_id': {'type': 'string', 'maxLength': 128, 'minLength': 1, 'description': 'Campaign identifier'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['screen_id', 'hour', 'day'], 'properties': {'day': {'type': 'integer', 'maximum': 6, 'minimum': 0, 'description': 'Day of week (0=Sunday, 1=Monday, ..., 6=Saturday)'}, 'hour': {'type': 'integer', 'maximum': 23, 'minimum': 0, 'description': 'Hour of day (0-23)'}, 'screen_id': {'type': 'string', 'maxLength': 50, 'minLength': 1, 'description': 'Screen ID to forecast'}, 'lookback_days': {'type': 'integer', 'maximum': 365, 'minimum': 1, 'description': 'Days of historical data to use (default: 30)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['screen_id'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Maximum number of results (default: 20, max: 100)'}, 'country': {'type': 'string', 'maxLength': 100, 'description': 'Filter by country (optional)'}, 'screen_id': {'type': 'string', 'maxLength': 128, 'minLength': 1, 'description': 'Source screen ID to find lookalikes for'}, 'venue_type': {'type': 'string', 'maxLength': 100, 'description': 'Filter by venue type (optional)'}, 'min_similarity': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'Minimum cosine similarity threshold 0-1 (default: 0.7)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['campaign_id'], 'properties': {'campaign_id': {'type': 'string', 'maxLength': 128, 'minLength': 1, 'description': 'Campaign identifier (UUID or string ID from create_campaign)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['campaign_id'], 'properties': {'campaign_id': {'type': 'string', 'maxLength': 128, 'minLength': 1, 'description': 'Campaign identifier'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['campaign_id'], 'properties': {'campaign_id': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Campaign UUID returned from create_campaign'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['video_id'], 'properties': {'days': {'type': 'integer', 'maximum': 90, 'minimum': 1, 'description': 'Lookback window in days (default: 30, max: 90)'}, 'video_id': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'YouTube video ID to query performance for'}, 'venue_type': {'type': 'string', 'maxLength': 100, 'description': 'Optional venue type filter (e.g., "retail", "transit", "bar")'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['venue_type'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Maximum recommendations to return (default: 10, max: 100)'}, 'daypart': {'enum': ['morning', 'afternoon', 'evening', 'overnight'], 'type': 'string', 'description': 'Optional daypart filter'}, 'venue_type': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Venue type to get recommendations for (required)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['campaign_id'], 'properties': {'campaign_id': {'type': 'string', 'maxLength': 128, 'minLength': 1, 'description': 'Campaign identifier'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['campaign_id'], 'properties': {'campaign_id': {'type': 'string', 'maxLength': 128, 'minLength': 1, 'description': 'Campaign identifier'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['campaign_id'], 'properties': {'campaign_id': {'type': 'string', 'maxLength': 128, 'minLength': 1, 'description': 'Campaign identifier'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['device_id'], 'properties': {'device_id': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Your internal device identifier'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['fingerprint'], 'properties': {'fingerprint': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Device fingerprint (e.g., "P_abc123")'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['campaign_id'], 'properties': {'campaign_id': {'type': 'string', 'maxLength': 128, 'minLength': 1, 'description': 'Campaign identifier'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['screen_id'], 'properties': {'screen_id': {'type': 'string', 'maxLength': 50, 'minLength': 1, 'description': 'Screen ID to get live audience for'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['media_buy_id'], 'properties': {'dimensions': {'type': 'array', 'items': {'enum': ['screen', 'venue', 'hour', 'audience_segment', 'creative', 'day'], 'type': 'string'}, 'description': 'Reporting dimensions to include. Only "screen" is supported; anything else is returned in dimensions_unsupported rather than silently dropped.'}, 'breakdown_by': {'type': 'array', 'items': {'enum': ['screen', 'venue', 'hour', 'audience_segment'], 'type': 'string'}, 'description': 'Dimensions to break down by (legacy, prefer dimensions). Same single supported value.'}, 'media_buy_id': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Media buy ID'}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'context': {'type': 'object', 'additionalProperties': {}}, 'pagination': {'type': 'object', 'properties': {'cursor': {'type': 'string', 'maxLength': 500, 'description': 'Opaque cursor from a previous response'}, 'max_results': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size (1-100, default 50)'}}, 'additionalProperties': False}, 'media_buy_ids': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'maxItems': 100, 'minItems': 1, 'description': 'Specific media buy IDs. When omitted, returns a paginated set matching status_filter.'}, 'status_filter': {'anyOf': [{'enum': ['pending_creatives', 'pending_start', 'active', 'paused', 'completed', 'rejected', 'canceled'], 'type': 'string'}, {'type': 'array', 'items': {'$ref': '#/properties/status_filter/anyOf/0'}, 'minItems': 1}], 'description': "Single status or array of statuses. Defaults to ['active'] when media_buy_ids is omitted; no implicit filter when ids are given."}, 'include_snapshot': {'type': 'boolean', 'description': 'Include a delivery snapshot per package (impressions, spend, pacing_index). Read live off placements, so staleness_seconds is 0.'}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['campaign_id'], 'properties': {'campaign_id': {'type': 'string', 'maxLength': 128, 'minLength': 1, 'description': 'Campaign identifier'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'time_range': {'enum': ['today', '7d', '30d'], 'type': 'string', 'description': 'Time range for stats (default: 7d)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'product': {'enum': ['data_api', 'proof_of_play', 'attribution', 'data_marketplace', 'partner_platform', 'programmatic', 'fein_edge_ai'], 'type': 'string', 'description': 'Optional: filter to a specific product (data_api, proof_of_play, attribution, data_marketplace, partner_platform, programmatic, fein_edge_ai)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'brief': {'type': 'string', 'description': 'Natural language campaign brief for AI-driven inventory matching'}, 'market': {'type': 'string', 'maxLength': 100, 'description': 'Market/city to get products for'}, 'filters': {'type': 'object', 'properties': {'channels': {'type': 'array', 'items': {'type': 'string'}}, 'countries': {'type': 'array', 'items': {'type': 'string'}}, 'venue_types': {'type': 'array', 'items': {'type': 'string', 'maxLength': 50}, 'maxItems': 20}, 'budget_range': {'type': 'object', 'properties': {'max': {'type': 'number'}, 'min': {'type': 'number'}, 'currency': {'type': 'string'}}, 'additionalProperties': False}, 'format_types': {'type': 'array', 'items': {'type': 'string'}}, 'delivery_type': {'type': 'string'}}, 'description': 'Structured filters for wholesale/refine modes', 'additionalProperties': True}, 'pagination': {'type': 'object', 'properties': {'cursor': {'type': 'string', 'maxLength': 500}, 'max_results': {'type': 'integer', 'maximum': 100, 'minimum': 1}}, 'additionalProperties': False}, 'buying_mode': {'enum': ['brief', 'wholesale', 'refine'], 'type': 'string', 'description': 'AdCP buying mode (default: brief)'}, 'venue_types': {'type': 'array', 'items': {'type': 'string', 'maxLength': 50}, 'maxItems': 20, 'description': 'Filter by venue types (legacy, prefer filters.venue_types)'}, 'audience_profile': {'type': 'object', 'properties': {'income': {'type': 'string'}, 'lifestyle': {'type': 'string'}, 'min_attention': {'type': 'number', 'maximum': 1, 'minimum': 0}}, 'description': 'Target audience characteristics', 'additionalProperties': False}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['campaign_id'], 'properties': {'campaign_id': {'type': 'string', 'maxLength': 128, 'minLength': 1, 'description': 'Campaign identifier'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'pagination': {'type': 'object', 'properties': {'cursor': {'type': 'string', 'maxLength': 200}, 'max_results': {'type': 'integer', 'maximum': 100, 'minimum': 1}}, 'additionalProperties': False}, 'signal_spec': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'object', 'properties': {'filters': {'type': 'object', 'properties': {'city': {'type': 'string', 'maxLength': 100}, 'state': {'type': 'string', 'maxLength': 100}, 'income': {'type': 'string'}, 'lifestyle': {'type': 'string'}, 'venue_type': {'type': 'string', 'maxLength': 50}}, 'additionalProperties': False}, 'signal_types': {'type': 'array', 'items': {'enum': ['demographics', 'venue', 'geo', 'behavior'], 'type': 'string'}}}, 'additionalProperties': False}], 'description': 'Natural language description of the desired signals (AdCP form), or a structured Trillboards signal specification.'}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 200, 'minimum': 1, 'description': 'Maximum results to return. Default: 20, max: 200.'}, 'min_saf': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Minimum social amplification factor threshold. Default: 1.5. Higher values return only stronger contagion events.'}, 'screen_id': {'type': 'string', 'maxLength': 100, 'description': 'Filter by screen MongoDB ID. Optional.'}, 'time_range': {'type': 'object', 'properties': {'end': {'type': 'string', 'description': 'End time (ISO 8601)'}, 'start': {'type': 'string', 'description': 'Start time (ISO 8601)'}}, 'description': 'Time range filter. Defaults to last 24 hours.', 'additionalProperties': False}, 'venue_type': {'type': 'string', 'maxLength': 100, 'description': 'Filter by venue type (e.g., "bar", "restaurant_qsr", "transit"). Optional.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'group_by': {'enum': ['venue', 'daypart', 'screen'], 'type': 'string', 'description': 'Dimension to group by: "venue", "daypart", or "screen". Default: "venue".'}, 'time_range': {'type': 'object', 'properties': {'end': {'type': 'string', 'description': 'End time (ISO 8601)'}, 'start': {'type': 'string', 'description': 'Start time (ISO 8601)'}}, 'description': 'Time range filter. Defaults to last 7 days.', 'additionalProperties': False}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id'], 'properties': {'account': {'type': 'object', 'properties': {'brand': {'type': 'object', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'maxLength': 253}, 'brand_id': {'type': 'string', 'maxLength': 200}}, 'additionalProperties': False}, 'sandbox': {'type': 'boolean'}, 'operator': {'type': 'string', 'maxLength': 253}, 'account_id': {'type': 'string', 'maxLength': 200}}, 'additionalProperties': False}, 'context': {'type': 'object', 'additionalProperties': {}}, 'task_id': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Unique identifier of the task to retrieve, as issued in the `task_id` field of the originating task response.'}, 'include_result': {'type': 'boolean', 'description': "Include the task's result payload when status is completed. Defaults to false for lightweight status-only polls."}, 'include_history': {'type': 'boolean', 'description': 'Include conversation history. Trillboards tasks complete in-process and hold no multi-turn history, so this is accepted and has no effect.'}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['webhook_id'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Maximum number of deliveries to return (default: 50, max: 100)'}, 'status': {'enum': ['all', 'success', 'failed'], 'type': 'string', 'description': 'Filter by delivery status'}, 'webhook_id': {'type': 'string', 'pattern': '^(wh_[a-z0-9]+_[a-f0-9]+|[a-f0-9]{24})$', 'description': 'Webhook ID to get deliveries for (wh_xxx format or legacy ObjectId)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'status': {'enum': ['active', 'pending_approval', 'rejected', 'payment_required', 'suspended', 'closed'], 'type': 'string', 'description': 'Filter by account status. Omit to return the account in any status.'}, 'account': {'type': 'object', 'properties': {'brand': {'type': 'object', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'maxLength': 253}, 'brand_id': {'type': 'string', 'maxLength': 200}}, 'additionalProperties': False}, 'sandbox': {'type': 'boolean'}, 'operator': {'type': 'string', 'maxLength': 253}, 'account_id': {'type': 'string', 'maxLength': 200}}, 'description': "Exact account filter. Either account_id, or the natural key (brand.domain + operator). Returns empty when it does not match this credential's account — which is how you confirm the key you hold is the one you meant.", 'additionalProperties': False}, 'context': {'type': 'object', 'additionalProperties': {}}, 'sandbox': {'type': 'boolean', 'description': "Filter by sandbox status — matched against the account's real state, not a stub. A sandbox account validates a buy exactly as a live one does (same errors, same codes) but books no placements and marks every response sandbox: true, so it is safe to exercise end to end. Sandbox is our classification, not buyer-settable: ask for a sandbox credential rather than sending sandbox on a live key."}, 'pagination': {'type': 'object', 'properties': {'cursor': {'type': 'string', 'maxLength': 500}, 'max_results': {'type': 'integer', 'maximum': 100, 'minimum': 1}}, 'additionalProperties': False}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'context': {'type': 'object', 'additionalProperties': {}}, 'max_width': {'type': 'number', 'description': 'Maximum render width in pixels (inclusive)'}, 'min_width': {'type': 'number', 'description': 'Minimum render width in pixels (inclusive)'}, 'format_ids': {'type': 'array', 'items': {'type': 'object', 'required': ['agent_url', 'id'], 'properties': {'id': {'type': 'string', 'maxLength': 200}, 'width': {'type': 'number'}, 'height': {'type': 'number'}, 'agent_url': {'type': 'string', 'maxLength': 500}, 'duration_ms': {'type': 'number'}}, 'additionalProperties': False}, 'minItems': 1, 'description': 'Return only these formats. Each entry is an AdCP structured format reference ({agent_url, id}), never a bare string.'}, 'max_height': {'type': 'number', 'description': 'Maximum render height in pixels (inclusive)'}, 'min_height': {'type': 'number', 'description': 'Minimum render height in pixels (inclusive)'}, 'pagination': {'type': 'object', 'properties': {'cursor': {'type': 'string', 'maxLength': 500, 'description': 'Opaque cursor from a previous response'}, 'max_results': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size (1-100, default 50)'}}, 'description': 'Cursor-based pagination', 'additionalProperties': False}, 'asset_types': {'type': 'array', 'items': {'type': 'string', 'maxLength': 50}, 'minItems': 1, 'description': "Filter to formats containing these asset types, e.g. ['video'] or ['image']."}, 'name_search': {'type': 'string', 'maxLength': 200, 'description': 'Case-insensitive partial match on the format name'}, 'is_responsive': {'type': 'boolean', 'description': 'Filter for responsive formats. Every DOOH panel is a fixed pixel grid, so true matches nothing here.'}, 'publisher_domain': {'type': 'string', 'maxLength': 253, 'description': "Resolve formats for this publisher. This agent derives formats from its own inventory only, so anything other than 'trillboards.com' returns an empty list with UNSUPPORTED_PUBLISHER_DOMAIN."}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'ext': {'type': 'object', 'additionalProperties': {}}, 'sort': {'type': 'object', 'additionalProperties': {}}, 'fields': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100}, 'maxItems': 100}, 'account': {'type': 'object', 'properties': {'brand': {'type': 'object', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'maxLength': 253}, 'brand_id': {'type': 'string', 'maxLength': 200}}, 'additionalProperties': False}, 'sandbox': {'type': 'boolean'}, 'operator': {'type': 'string', 'maxLength': 253}, 'account_id': {'type': 'string', 'maxLength': 200}}, 'additionalProperties': False}, 'context': {'type': 'object', 'additionalProperties': {}}, 'filters': {'type': 'object', 'properties': {'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100}, 'maxItems': 50}, 'status': {'anyOf': [{'enum': ['processing', 'pending_review', 'approved', 'rejected', 'archived'], 'type': 'string'}, {'type': 'array', 'items': {'enum': ['processing', 'pending_review', 'approved', 'rejected', 'archived'], 'type': 'string'}, 'minItems': 1}], 'description': 'AdCP creative-status: processing | pending_review | approved | rejected | archived'}, 'format_ids': {'type': 'array', 'maxItems': 200}, 'creative_ids': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'maxItems': 200}, 'media_buy_ids': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'maxItems': 200}}, 'description': 'Narrow the result set. All fields optional.', 'additionalProperties': False}, 'pagination': {'type': 'object', 'properties': {'cursor': {'type': 'string', 'maxLength': 500}, 'max_results': {'type': 'integer', 'maximum': 100, 'minimum': 1}}, 'additionalProperties': False}, 'include_items': {'type': 'boolean'}, 'include_purged': {'type': 'boolean'}, 'include_pricing': {'type': 'boolean'}, 'include_snapshot': {'type': 'boolean'}, 'include_variables': {'type': 'boolean'}, 'include_assignments': {'type': 'boolean', 'description': 'Include which media buys each creative is attached to.'}, 'webhook_activity_limit': {'type': 'integer', 'maximum': 1000, 'minimum': 0}, 'include_webhook_activity': {'type': 'boolean'}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Maximum number of devices to return (default: 50, max: 100)'}, 'offset': {'type': 'integer', 'minimum': 0, 'description': 'Pagination offset'}, 'status': {'enum': ['all', 'online', 'offline'], 'type': 'string', 'description': 'Filter by device status'}, 'device_type': {'enum': ['vending_machine', 'kiosk', 'tablet', 'display', 'digital_signage', 'other'], 'type': 'string', 'description': 'Filter by device type'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'surface': {'type': 'string', 'maxLength': 64, 'description': 'Filter to one surface (e.g. "data-api").'}, 'agent_safe': {'type': 'boolean', 'description': 'When true, return only endpoints flagged agent-safe.'}, 'idempotent': {'type': 'boolean', 'description': 'When true, return only endpoints flagged idempotent.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'account': {'type': 'object', 'properties': {'brand': {'type': 'object', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'maxLength': 253}, 'brand_id': {'type': 'string', 'maxLength': 200}}, 'additionalProperties': False}, 'sandbox': {'type': 'boolean'}, 'operator': {'type': 'string', 'maxLength': 253}, 'account_id': {'type': 'string', 'maxLength': 200}}, 'additionalProperties': False}, 'context': {'type': 'object', 'additionalProperties': {}}, 'filters': {'type': 'object', 'properties': {'status': {'enum': ['submitted', 'working', 'input-required', 'completed', 'canceled', 'failed', 'rejected', 'auth-required', 'unknown'], 'type': 'string', 'description': 'Single task status to match'}, 'statuses': {'type': 'array', 'items': {'enum': ['submitted', 'working', 'input-required', 'completed', 'canceled', 'failed', 'rejected', 'auth-required', 'unknown'], 'type': 'string'}, 'description': 'Task statuses to match (enums/task-status.json)'}, 'task_type': {'enum': ['create_media_buy', 'update_media_buy', 'media_buy_delivery', 'sync_creatives', 'build_creative', 'activate_signal', 'get_products', 'get_signals', 'create_property_list', 'update_property_list', 'get_property_list', 'list_property_lists', 'delete_property_list', 'sync_accounts', 'get_account_financials', 'get_creative_delivery', 'sync_event_sources', 'sync_audiences', 'sync_catalogs', 'log_event', 'get_brand_identity', 'search_brands', 'get_rights', 'acquire_rights'], 'type': 'string', 'description': 'Single task type to match'}, 'task_types': {'type': 'array', 'items': {'enum': ['create_media_buy', 'update_media_buy', 'media_buy_delivery', 'sync_creatives', 'build_creative', 'activate_signal', 'get_products', 'get_signals', 'create_property_list', 'update_property_list', 'get_property_list', 'list_property_lists', 'delete_property_list', 'sync_accounts', 'get_account_financials', 'get_creative_delivery', 'sync_event_sources', 'sync_audiences', 'sync_catalogs', 'log_event', 'get_brand_identity', 'search_brands', 'get_rights', 'acquire_rights'], 'type': 'string'}, 'description': 'Task types to match (enums/task-type.json)'}}, 'description': 'Narrow the returned tasks.', 'additionalProperties': False}, 'pagination': {'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size (max 100, default 50)'}, 'offset': {'type': 'integer', 'minimum': 0, 'description': 'Rows to skip'}}, 'additionalProperties': False}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['media_buy_id', 'event'], 'properties': {'event': {'type': 'object', 'required': ['event_id', 'event_type'], 'properties': {'event_id': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Unique event ID for dedup'}, 'metadata': {'type': 'object', 'description': 'Additional event metadata', 'additionalProperties': {}}, 'screen_id': {'type': 'string', 'description': 'Attributed screen ID (optional)'}, 'timestamp': {'type': 'string', 'description': 'Event timestamp (ISO 8601, defaults to now)'}, 'event_type': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Event type: store_visit, purchase, app_install, website_visit, custom'}, 'value_cents': {'type': 'number', 'description': 'Event value in cents (USD)'}, 'event_source': {'type': 'string', 'description': 'Source system for the event (e.g., mmp, pixel, postback, manual)'}}, 'description': 'Event data', 'additionalProperties': False}, 'media_buy_id': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Media buy ID'}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['question'], 'properties': {'question': {'type': 'string', 'maxLength': 500, 'minLength': 1, 'description': 'Natural language question about the predicted trend or outcome'}, 'screen_id': {'type': 'string', 'maxLength': 100, 'description': 'Filter predictions to a specific screen (mongo ID). Optional.'}, 'venue_type': {'type': 'string', 'maxLength': 100, 'description': 'Filter predictions to a specific venue type. Optional.'}, 'time_horizon': {'type': 'string', 'pattern': '^\\d+d$', 'description': 'How far ahead to predict (e.g., "1d", "3d", "7d", "14d"). Default: "7d", max: "30d"'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['moment_description', 'creative_id'], 'properties': {'creative_id': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'The creative/ad ID to predict performance for.'}, 'moment_description': {'type': 'string', 'maxLength': 1000, 'minLength': 1, 'description': 'Natural-language description of the target moment context. Include venue type, time of day, audience size, demographics, attention level, etc.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['media_buy_id', 'feedback'], 'properties': {'feedback': {'type': 'object', 'required': ['type'], 'properties': {'type': {'enum': ['bid_response', 'conversion', 'quality', 'pacing'], 'type': 'string', 'description': 'Type of feedback'}, 'message': {'type': 'string', 'description': 'Free-form feedback'}, 'quality_score': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': '0-1 quality assessment'}, 'preferred_hours': {'type': 'array', 'items': {'type': 'integer', 'maximum': 23, 'minimum': 0}}, 'avg_bid_price_cpm': {'type': 'number'}, 'fill_rate_percent': {'type': 'number'}}, 'description': 'Performance feedback data', 'additionalProperties': False}, 'media_buy_id': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Media buy ID'}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['tier'], 'properties': {'tier': {'enum': ['tier_500', 'tier_2000', 'tier_5000'], 'type': 'string', 'description': 'Credit purchase tier'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'type': {'type': 'string', 'maxLength': 100, 'description': 'Filter by change category: "breaking", "additive", "deprecation", "fix". Comma-separated for multiple.'}, 'since': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Only entries dated on or after this date (YYYY-MM-DD). Unreleased entries are always included.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'Maximum observations to return (default: 100, max: 1000)'}, 'query': {'type': 'string', 'maxLength': 500, 'minLength': 1, 'description': 'Natural language query describing what observations to find'}, 'filters': {'type': 'object', 'properties': {'geohash': {'type': 'string', 'maxLength': 12, 'description': 'Filter by geohash-6 prefix for geographic area'}, 'device_id': {'type': 'string', 'maxLength': 100, 'description': 'Filter to a specific device ID'}, 'screen_id': {'type': 'string', 'maxLength': 100, 'description': 'Filter to a specific screen (mongo ID)'}, 'time_range': {'type': 'object', 'properties': {'end': {'type': 'string', 'description': 'End time (ISO 8601)'}, 'start': {'type': 'string', 'description': 'Start time (ISO 8601)'}}, 'description': 'Time range filter', 'additionalProperties': False}, 'venue_type': {'type': 'array', 'items': {'type': 'string', 'maxLength': 50}, 'maxItems': 20, 'description': 'Filter by venue type: retail, transit, office, restaurant_qsr, entertainment, healthcare, outdoor, etc.'}, 'observation_family': {'type': 'array', 'items': {'type': 'string', 'maxLength': 50}, 'maxItems': 10, 'description': 'Filter by observation family: audience, vehicle, environment, commerce'}}, 'description': 'Structured filters to narrow results', 'additionalProperties': False}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['moment_description', 'creative_ids'], 'properties': {'creative_ids': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'minItems': 1, 'description': 'Array of creative/ad IDs to rank. Maximum 20 candidates.'}, 'moment_description': {'type': 'string', 'maxLength': 1000, 'minLength': 1, 'description': 'Natural-language description of the target moment context.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['fingerprint', 'ad_id'], 'properties': {'ad_id': {'type': 'string', 'pattern': '^[0-9a-f]{24}$', 'description': 'Advertisement ID (MongoDB ObjectId)'}, 'metadata': {'type': 'object', 'description': 'Additional impression metadata', 'additionalProperties': {}}, 'timestamp': {'type': 'string', 'format': 'date-time', 'description': 'ISO 8601 timestamp when impression occurred (optional, defaults to now)'}, 'fingerprint': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Device fingerprint (e.g., "P_abc123")'}, 'duration_seconds': {'type': 'number', 'maximum': 3600, 'description': 'How long the ad was displayed (seconds)', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['device_id'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'description': 'Human-readable device name'}, 'specs': {'type': 'object', 'properties': {'os': {'type': 'string', 'maxLength': 100, 'description': 'Operating system'}, 'model': {'type': 'string', 'maxLength': 100, 'description': 'Device model'}, 'browser': {'type': 'string', 'maxLength': 100, 'description': 'Browser/WebView type'}, 'orientation': {'enum': ['landscape', 'portrait'], 'type': 'string'}, 'screen_width': {'type': 'integer', 'description': 'Screen width in pixels', 'exclusiveMinimum': 0}, 'screen_height': {'type': 'integer', 'description': 'Screen height in pixels', 'exclusiveMinimum': 0}}, 'description': 'Device specifications', 'additionalProperties': False}, 'location': {'type': 'object', 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude'}, 'lng': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude'}, 'zip': {'type': 'string', 'maxLength': 20, 'description': 'Postal code'}, 'city': {'type': 'string', 'maxLength': 100, 'description': 'City'}, 'state': {'type': 'string', 'maxLength': 100, 'description': 'State/province'}, 'address': {'type': 'string', 'maxLength': 200, 'description': 'Street address'}, 'country': {'type': 'string', 'maxLength': 100, 'description': 'Country'}, 'venue_type': {'type': 'string', 'maxLength': 100, 'description': 'Venue type (office, retail, gym, etc.)'}}, 'description': 'Device location information', 'additionalProperties': False}, 'metadata': {'type': 'object', 'description': 'Additional custom metadata', 'additionalProperties': {}}, 'device_id': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Your internal unique device identifier'}, 'device_type': {'enum': ['vending_machine', 'kiosk', 'tablet', 'display', 'digital_signage', 'other'], 'type': 'string', 'description': 'Type of device'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['company_name', 'email'], 'properties': {'email': {'type': 'string', 'format': 'email', 'description': 'Contact email for the partner account'}, 'website': {'type': 'string', 'format': 'uri', 'description': 'Company website URL (optional)'}, 'industry': {'type': 'string', 'maxLength': 100, 'description': 'Industry type (e.g., "vending", "retail", "hospitality")'}, 'company_name': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Company or organization name'}, 'contact_name': {'type': 'string', 'maxLength': 100, 'description': 'Primary contact person name (optional)'}, 'contact_phone': {'type': 'string', 'maxLength': 20, 'description': 'Contact phone number (optional)'}, 'expected_devices': {'type': 'integer', 'description': 'Estimated number of devices to connect', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Maximum results to return (default: 20, max: 100)'}, 'query': {'type': 'string', 'maxLength': 500, 'minLength': 3, 'description': 'Natural language search query (min 3 characters)'}, 'min_similarity': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'Minimum cosine similarity threshold (default: 0.5, range: 0-1)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Maximum number of results (default: 20, max: 100)'}, 'query': {'type': 'string', 'maxLength': 500, 'minLength': 1, 'description': 'Natural language description of the audience/scene to search for'}, 'since': {'type': 'string', 'pattern': '^\\d+[hd]$', 'description': 'Time window for scene data (e.g., "1h", "24h", "7d"). Default: "24h"'}, 'min_similarity': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'Minimum semantic similarity threshold 0-1 (default: 0.5)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Maximum results to return (default: 20, max: 100)'}, 'query': {'type': 'string', 'maxLength': 500, 'minLength': 1, 'description': 'Natural language description of the observation moments to search for'}, 'filters': {'type': 'object', 'properties': {'time_range': {'type': 'object', 'properties': {'end': {'type': 'string', 'description': 'End time (ISO 8601). Default: now'}, 'start': {'type': 'string', 'description': 'Start time (ISO 8601). Default: end - 30 days'}}, 'description': 'Time range filter. Omitted ends default to the last 30 days (end = now, start = end - 30d) — the search is always time-bounded.', 'additionalProperties': False}, 'venue_type': {'type': 'array', 'items': {'type': 'string', 'maxLength': 50}, 'maxItems': 20, 'description': 'Filter by venue type'}, 'observation_family': {'type': 'array', 'items': {'type': 'string', 'maxLength': 50}, 'maxItems': 10, 'description': 'Filter by observation family: audience, vehicle, environment, commerce'}}, 'description': 'Additional structured filters to narrow semantic search', 'additionalProperties': False}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['payment_method_id'], 'properties': {'payment_method_id': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Stripe payment method token (pm_xxx) from Stripe.js or Elements'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['idempotency_key', 'accounts'], 'properties': {'context': {'type': 'object', 'additionalProperties': {}}, 'dry_run': {'type': 'boolean', 'description': 'Echo what would happen without applying it. Reported back as dry_run.'}, 'accounts': {'type': 'array', 'items': {'type': 'object', 'properties': {'brand': {'$ref': '#/properties/accounts/items/properties/account/properties/brand'}, 'account': {'type': 'object', 'properties': {'brand': {'type': 'object', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'maxLength': 253}, 'brand_id': {'type': 'string', 'maxLength': 200}}, 'additionalProperties': False}, 'sandbox': {'type': 'boolean'}, 'operator': {'type': 'string', 'maxLength': 253}, 'account_id': {'type': 'string', 'maxLength': 200}}, 'additionalProperties': False}, 'billing': {'enum': ['operator', 'agent', 'advertiser'], 'type': 'string', 'description': "Who we invoice on this account. APPLIED and stored. 'operator' = you, buying direct; 'agent' = you are a buying agent consolidating across the brands you front. See account.supported_billing in get_adcp_capabilities for the accepted set — 'advertiser' is refused with a reason."}, 'sandbox': {'type': 'boolean'}, 'operator': {'type': 'string', 'maxLength': 253, 'description': "Domain of the entity operating on the brand's behalf"}, 'payment_terms': {'enum': ['net_15', 'net_30', 'net_45', 'net_60', 'net_90', 'prepay'], 'type': 'string'}, 'billing_entity': {'type': 'object', 'description': 'Legal/tax details of the invoiced party. Not applied — see warnings.', 'additionalProperties': {}}, 'notification_configs': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}, 'maxItems': 16}, 'preferred_reporting_protocol': {'type': 'string', 'maxLength': 50}}, 'additionalProperties': False}, 'maxItems': 100, 'description': 'Per-account entries. Each uses ONE key shape: `account` (settings-update) or the flat brand + operator + billing trio (provisioning).'}, 'delete_missing': {'type': 'boolean', 'description': 'Not supported — this seller never deletes an account from a sync.'}, 'idempotency_key': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Client-generated key for safe retries. This operation has no side effects, so a replay returns the same result.'}, 'push_notification_config': {'type': 'object', 'additionalProperties': {}}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['creatives'], 'properties': {'ext': {'type': 'object', 'additionalProperties': {}}, 'account': {'type': 'object', 'properties': {'brand': {'type': 'object', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'maxLength': 253}, 'brand_id': {'type': 'string', 'maxLength': 200}}, 'additionalProperties': False}, 'sandbox': {'type': 'boolean'}, 'operator': {'type': 'string', 'maxLength': 253}, 'account_id': {'type': 'string', 'maxLength': 200}}, 'additionalProperties': False}, 'context': {'type': 'object', 'additionalProperties': {}}, 'dry_run': {'type': 'boolean'}, 'creatives': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'name': {'type': 'string', 'maxLength': 300}, 'type': {'enum': ['video', 'image', 'vast'], 'type': 'string'}, 'width': {'type': 'number'}, 'assets': {'type': 'object', 'additionalProperties': {}}, 'height': {'type': 'number'}, 'format_id': {'anyOf': [{'type': 'object', 'required': ['agent_url', 'id'], 'properties': {'id': {'type': 'string', 'maxLength': 200}, 'width': {'type': 'number'}, 'height': {'type': 'number'}, 'agent_url': {'type': 'string', 'maxLength': 500}, 'duration_ms': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'string'}], 'description': 'AdCP creative format ID (e.g., dooh_landscape_1920x1080)'}, 'creative_id': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'format_kind': {'type': 'string', 'maxLength': 100}, 'file_size_mb': {'type': 'number'}, 'duration_seconds': {'type': 'number'}}, 'additionalProperties': True}, 'maxItems': 10, 'minItems': 1, 'description': 'Creative assets to validate'}, 'assignments': {'type': 'array', 'items': {'type': 'object', 'required': ['creative_id'], 'properties': {'package_id': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'creative_id': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'media_buy_id': {'type': 'string', 'maxLength': 100, 'minLength': 1}}, 'additionalProperties': True}, 'maxItems': 100}, 'creative_ids': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 200}, 'media_buy_id': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Media buy ID'}, 'delete_missing': {'type': 'boolean'}, 'idempotency_key': {'type': 'string', 'maxLength': 200}, 'validation_mode': {'type': 'string', 'maxLength': 50}, 'push_notification_config': {'type': 'object', 'additionalProperties': {}}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id'], 'properties': {'account': {'type': 'object', 'properties': {'brand': {'type': 'object', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'maxLength': 253}, 'brand_id': {'type': 'string', 'maxLength': 200}}, 'additionalProperties': False}, 'sandbox': {'type': 'boolean'}, 'operator': {'type': 'string', 'maxLength': 253}, 'account_id': {'type': 'string', 'maxLength': 200}}, 'additionalProperties': False}, 'context': {'type': 'object', 'additionalProperties': {}}, 'task_id': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Unique identifier of the task to retrieve, as issued in the `task_id` field of the originating task response.'}, 'include_result': {'type': 'boolean', 'description': "Include the task's result payload when status is completed. Defaults to false for lightweight status-only polls."}, 'include_history': {'type': 'boolean', 'description': 'Include conversation history. Trillboards tasks complete in-process and hold no multi-turn history, so this is accepted and has no effect.'}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'account': {'type': 'object', 'properties': {'brand': {'type': 'object', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'maxLength': 253}, 'brand_id': {'type': 'string', 'maxLength': 200}}, 'additionalProperties': False}, 'sandbox': {'type': 'boolean'}, 'operator': {'type': 'string', 'maxLength': 253}, 'account_id': {'type': 'string', 'maxLength': 200}}, 'additionalProperties': False}, 'context': {'type': 'object', 'additionalProperties': {}}, 'filters': {'type': 'object', 'properties': {'status': {'enum': ['submitted', 'working', 'input-required', 'completed', 'canceled', 'failed', 'rejected', 'auth-required', 'unknown'], 'type': 'string', 'description': 'Single task status to match'}, 'statuses': {'type': 'array', 'items': {'enum': ['submitted', 'working', 'input-required', 'completed', 'canceled', 'failed', 'rejected', 'auth-required', 'unknown'], 'type': 'string'}, 'description': 'Task statuses to match (enums/task-status.json)'}, 'task_type': {'enum': ['create_media_buy', 'update_media_buy', 'media_buy_delivery', 'sync_creatives', 'build_creative', 'activate_signal', 'get_products', 'get_signals', 'create_property_list', 'update_property_list', 'get_property_list', 'list_property_lists', 'delete_property_list', 'sync_accounts', 'get_account_financials', 'get_creative_delivery', 'sync_event_sources', 'sync_audiences', 'sync_catalogs', 'log_event', 'get_brand_identity', 'search_brands', 'get_rights', 'acquire_rights'], 'type': 'string', 'description': 'Single task type to match'}, 'task_types': {'type': 'array', 'items': {'enum': ['create_media_buy', 'update_media_buy', 'media_buy_delivery', 'sync_creatives', 'build_creative', 'activate_signal', 'get_products', 'get_signals', 'create_property_list', 'update_property_list', 'get_property_list', 'list_property_lists', 'delete_property_list', 'sync_accounts', 'get_account_financials', 'get_creative_delivery', 'sync_event_sources', 'sync_audiences', 'sync_catalogs', 'log_event', 'get_brand_identity', 'search_brands', 'get_rights', 'acquire_rights'], 'type': 'string'}, 'description': 'Task types to match (enums/task-type.json)'}}, 'description': 'Narrow the returned tasks.', 'additionalProperties': False}, 'pagination': {'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size (max 100, default 50)'}, 'offset': {'type': 'integer', 'minimum': 0, 'description': 'Rows to skip'}}, 'additionalProperties': False}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['webhook_id'], 'properties': {'event': {'enum': ['device.online', 'device.offline', 'impression.recorded', 'campaign.allocated', 'payout.processed', 'programmatic.ad_started', 'programmatic.ad_ended', 'programmatic.no_fill', 'programmatic.error', 'sensing.threshold_crossed', 'audience.spike', 'audience.venue_busy', 'audience.purchase_intent', 'audience.demographics_update', 'venue.traffic_summary', 'screen_group.created', 'screen_group.updated', 'screen_group.deleted', 'screen_group.member.added', 'screen_group.member.removed', 'screen_group.content_policy.updated', 'screen_group.sensing_config.updated', 'fleet_command.completed', 'fleet_command.failed'], 'type': 'string', 'description': 'Event type to simulate (optional, defaults to device.online)'}, 'webhook_id': {'type': 'string', 'pattern': '^(wh_[a-z0-9]+_[a-f0-9]+|[a-f0-9]{24})$', 'description': 'Webhook ID to test (wh_xxx format or legacy ObjectId)'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['media_buy_id'], 'properties': {'ext': {'type': 'object', 'additionalProperties': {}}, 'paused': {'type': 'boolean'}, 'account': {'type': 'object', 'additionalProperties': {}}, 'context': {'type': 'object', 'additionalProperties': {}}, 'updates': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'budget': {'type': 'object', 'properties': {'bid_cpm': {'type': 'number'}, 'daily_usd': {'type': 'number'}, 'total_usd': {'type': 'number'}}, 'additionalProperties': False}, 'status': {'enum': ['active', 'paused', 'cancelled'], 'type': 'string'}, 'end_date': {'type': 'string'}, 'targeting': {'type': 'object', 'additionalProperties': {}}, 'screen_ids': {'type': 'array', 'items': {'type': 'string'}}, 'start_date': {'type': 'string'}}, 'description': 'Fields to update', 'additionalProperties': False}, 'canceled': {'type': 'boolean'}, 'end_time': {'type': 'string'}, 'packages': {'type': 'array', 'items': {'type': 'object', 'required': ['package_id'], 'properties': {'package_id': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'targeting_overlay': {'anyOf': [{'type': 'object', 'additionalProperties': {}}, {'type': 'null'}]}, 'creative_assignments': {'type': 'array', 'items': {'type': 'object', 'required': ['creative_id'], 'properties': {'creative_id': {'type': 'string', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': True}, 'maxItems': 100}}, 'additionalProperties': True}}, 'revision': {'type': 'integer'}, 'start_time': {'anyOf': [{'type': 'string'}, {'type': 'string', 'const': 'asap'}]}, 'media_buy_id': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Media buy ID to update'}, 'new_packages': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}, 'idempotency_key': {'type': 'string', 'maxLength': 200}, 'invoice_recipient': {'type': 'object', 'additionalProperties': {}}, 'reporting_webhook': {'type': 'object', 'additionalProperties': {}}, 'cancellation_reason': {'type': 'string', 'maxLength': 500}, 'push_notification_config': {'type': 'object', 'additionalProperties': {}}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', 'properties': {}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['path', 'method'], 'properties': {'path': {'type': 'string', 'maxLength': 256, 'minLength': 1, 'description': 'Operation path (OpenAPI template form).'}, 'method': {'type': 'string', 'maxLength': 16, 'minLength': 1}, 'payload': {'description': 'Shape is operation-dependent. GET → { query?, params? }. POST → body + optional { query?, params? }.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 10000, 'minimum': 1, 'description': 'Max proofs to return (default: 1000, used with campaign_id)'}, 'cursor': {'type': 'string', 'maxLength': 200, 'description': 'Pagination cursor from previous response (used with campaign_id)'}, 'end_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'End date for proof query (YYYY-MM-DD, used with campaign_id)'}, 'start_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Start date for proof query (YYYY-MM-DD, used with campaign_id)'}, 'campaign_id': {'type': 'string', 'maxLength': 128, 'description': 'Campaign ID to get proofs for (mutually exclusive with proof_payload)'}, 'proof_payload': {'type': 'object', 'required': ['signature', 'timestamp'], 'properties': {'adId': {'type': 'string'}, 'deviceId': {'type': 'string'}, 'screenId': {'type': 'string'}, 'signature': {'type': 'string', 'description': 'Signature string (ed25519=... or sha256=...)'}, 'timestamp': {'type': 'string', 'description': 'ISO 8601 timestamp'}, 'impressionId': {'type': 'string'}, 'signatureVersion': {'type': 'string', 'description': 'v1 or v2'}}, 'description': 'Proof data to verify (mutually exclusive with campaign_id). Must include: signature, timestamp, adId, impressionId, screenId, deviceId', 'additionalProperties': False}}, 'additionalProperties': False}
最近のツール変更
類似のMCPサーバー
SharksAPI.AI
Provides marketing analytics and actions across GA4, Search Console, Google Ads, social channels, SEO, WordPress, and marketing p…
synter-ads
Manages cross-platform advertising campaigns, audiences, tracking, creative, landing pages, campaign audits, technology intellige…
synter-ads
Manages cross-platform advertising campaigns, audiences, tracking, creative, landing pages, campaign audits, technology intellige…
Stratalize Intelligence
Provides vendor, market, SaaS, workforce, government contract, public company, regulatory, competitive, and AI-brand intelligence…
captapi
Retrieves social media profiles, posts, engagement metrics, comments, marketplace listings, events, and Meta advertising data acr…
CorpusIQ
Connects authenticated users to business systems such as CRM, ecommerce, advertising, analytics, email marketing, SEO, calendars,…
Rahul D Sarker: Marketing & RevOps Tools
Provides marketing, revenue operations, sales, advertising, SaaS, and conversion calculators, along with article search and consu…
rankparse-mcp
Provides SEO and search marketing research including backlinks, authority, competitor gaps, Google Ads keyword metrics, and Googl…