adcp 2.19.0__py3-none-any.whl → 3.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- adcp/ADCP_VERSION +1 -1
- adcp/__init__.py +6 -14
- adcp/__main__.py +94 -51
- adcp/adagents.py +91 -19
- adcp/client.py +865 -0
- adcp/protocols/a2a.py +84 -0
- adcp/protocols/base.py +101 -0
- adcp/protocols/mcp.py +84 -0
- adcp/server/__init__.py +49 -0
- adcp/server/base.py +368 -0
- adcp/server/content_standards.py +561 -0
- adcp/server/governance.py +491 -0
- adcp/server/mcp_tools.py +471 -0
- adcp/server/proposal.py +334 -0
- adcp/server/sponsored_intelligence.py +444 -0
- adcp/types/__init__.py +111 -23
- adcp/types/_ergonomic.py +35 -14
- adcp/types/_generated.py +346 -52
- adcp/types/aliases.py +13 -20
- adcp/types/base.py +1 -1
- adcp/types/generated_poc/adagents.py +196 -189
- adcp/types/generated_poc/content_standards/__init__.py +3 -0
- adcp/types/generated_poc/content_standards/artifact.py +208 -0
- adcp/types/generated_poc/content_standards/artifact_webhook_payload.py +64 -0
- adcp/types/generated_poc/content_standards/calibrate_content_request.py +17 -0
- adcp/types/generated_poc/content_standards/calibrate_content_response.py +74 -0
- adcp/types/generated_poc/content_standards/content_standards.py +66 -0
- adcp/types/generated_poc/content_standards/create_content_standards_request.py +97 -0
- adcp/types/generated_poc/content_standards/create_content_standards_response.py +52 -0
- adcp/types/generated_poc/content_standards/get_content_standards_request.py +21 -0
- adcp/types/generated_poc/content_standards/get_content_standards_response.py +43 -0
- adcp/types/generated_poc/content_standards/get_media_buy_artifacts_request.py +64 -0
- adcp/types/generated_poc/content_standards/get_media_buy_artifacts_response.py +117 -0
- adcp/types/generated_poc/content_standards/list_content_standards_request.py +31 -0
- adcp/types/generated_poc/content_standards/list_content_standards_response.py +48 -0
- adcp/types/generated_poc/content_standards/update_content_standards_request.py +101 -0
- adcp/types/generated_poc/content_standards/update_content_standards_response.py +34 -0
- adcp/types/generated_poc/content_standards/validate_content_delivery_request.py +59 -0
- adcp/types/generated_poc/content_standards/validate_content_delivery_response.py +85 -0
- adcp/types/generated_poc/core/activation_key.py +9 -9
- adcp/types/generated_poc/core/assets/audio_asset.py +6 -6
- adcp/types/generated_poc/core/assets/css_asset.py +3 -3
- adcp/types/generated_poc/core/assets/daast_asset.py +19 -19
- adcp/types/generated_poc/core/assets/html_asset.py +3 -3
- adcp/types/generated_poc/core/assets/image_asset.py +7 -7
- adcp/types/generated_poc/core/assets/javascript_asset.py +4 -4
- adcp/types/generated_poc/core/assets/text_asset.py +3 -3
- adcp/types/generated_poc/core/assets/url_asset.py +4 -4
- adcp/types/generated_poc/core/assets/vast_asset.py +19 -19
- adcp/types/generated_poc/core/assets/video_asset.py +8 -8
- adcp/types/generated_poc/core/assets/webhook_asset.py +10 -10
- adcp/types/generated_poc/core/async_response_data.py +3 -3
- adcp/types/generated_poc/core/brand_manifest.py +122 -59
- adcp/types/generated_poc/core/brand_manifest_ref.py +10 -10
- adcp/types/generated_poc/core/context.py +2 -2
- adcp/types/generated_poc/core/creative_asset.py +20 -19
- adcp/types/generated_poc/core/creative_assignment.py +4 -4
- adcp/types/generated_poc/core/creative_filters.py +18 -28
- adcp/types/generated_poc/core/creative_manifest.py +3 -3
- adcp/types/generated_poc/core/creative_policy.py +5 -5
- adcp/types/generated_poc/core/delivery_metrics.py +33 -33
- adcp/types/generated_poc/core/deployment.py +21 -21
- adcp/types/generated_poc/core/destination.py +12 -12
- adcp/types/generated_poc/core/error.py +7 -7
- adcp/types/generated_poc/core/ext.py +2 -2
- adcp/types/generated_poc/core/format.py +66 -66
- adcp/types/generated_poc/core/format_id.py +6 -6
- adcp/types/generated_poc/core/frequency_cap.py +3 -3
- adcp/types/generated_poc/core/identifier.py +3 -3
- adcp/types/generated_poc/core/mcp_webhook_payload.py +11 -11
- adcp/types/generated_poc/core/measurement.py +9 -9
- adcp/types/generated_poc/core/media_buy.py +8 -8
- adcp/types/generated_poc/core/media_buy_features.py +29 -0
- adcp/types/generated_poc/core/offering.py +80 -0
- adcp/types/generated_poc/core/package.py +9 -9
- adcp/types/generated_poc/core/performance_feedback.py +19 -19
- adcp/types/generated_poc/core/placement.py +5 -5
- adcp/types/generated_poc/core/pricing_option.py +9 -15
- adcp/types/generated_poc/core/product.py +21 -21
- adcp/types/generated_poc/core/product_allocation.py +48 -0
- adcp/types/generated_poc/core/product_filters.py +89 -24
- adcp/types/generated_poc/core/promoted_offerings.py +29 -38
- adcp/types/generated_poc/core/promoted_products.py +3 -3
- adcp/types/generated_poc/core/property.py +10 -10
- adcp/types/generated_poc/core/property_id.py +5 -5
- adcp/types/generated_poc/core/property_list_ref.py +5 -5
- adcp/types/generated_poc/core/property_tag.py +5 -5
- adcp/types/generated_poc/core/proposal.py +64 -0
- adcp/types/generated_poc/core/protocol_envelope.py +9 -9
- adcp/types/generated_poc/core/publisher_property_selector.py +14 -14
- adcp/types/generated_poc/core/push_notification_config.py +6 -6
- adcp/types/generated_poc/core/reporting_capabilities.py +9 -9
- adcp/types/generated_poc/core/reporting_webhook.py +70 -0
- adcp/types/generated_poc/core/response.py +5 -5
- adcp/types/generated_poc/core/signal_filters.py +6 -6
- adcp/types/generated_poc/core/start_timing.py +4 -4
- adcp/types/generated_poc/core/sub_asset.py +15 -15
- adcp/types/generated_poc/core/targeting.py +59 -18
- adcp/types/generated_poc/creative/list_creative_formats_request.py +21 -21
- adcp/types/generated_poc/creative/list_creative_formats_response.py +6 -6
- adcp/types/generated_poc/creative/preview_creative_request.py +25 -25
- adcp/types/generated_poc/creative/preview_creative_response.py +29 -29
- adcp/types/generated_poc/creative/preview_render.py +26 -26
- adcp/types/generated_poc/enums/adcp_domain.py +5 -5
- adcp/types/generated_poc/enums/asset_content_type.py +14 -14
- adcp/types/generated_poc/enums/auth_scheme.py +3 -3
- adcp/types/generated_poc/enums/available_metric.py +10 -10
- adcp/types/generated_poc/enums/channels.py +21 -11
- adcp/types/generated_poc/enums/co_branding_requirement.py +4 -4
- adcp/types/generated_poc/enums/creative_action.py +6 -6
- adcp/types/generated_poc/enums/creative_agent_capability.py +5 -5
- adcp/types/generated_poc/enums/creative_sort_field.py +7 -7
- adcp/types/generated_poc/enums/creative_status.py +6 -5
- adcp/types/generated_poc/enums/daast_tracking_event.py +12 -12
- adcp/types/generated_poc/enums/daast_version.py +3 -3
- adcp/types/generated_poc/enums/delivery_type.py +3 -3
- adcp/types/generated_poc/enums/dimension_unit.py +5 -5
- adcp/types/generated_poc/enums/feed_format.py +4 -4
- adcp/types/generated_poc/enums/feedback_source.py +5 -5
- adcp/types/generated_poc/enums/format_category.py +8 -8
- adcp/types/generated_poc/enums/format_id_parameter.py +3 -3
- adcp/types/generated_poc/enums/frequency_cap_scope.py +4 -4
- adcp/types/generated_poc/enums/geo_level.py +14 -0
- adcp/types/generated_poc/enums/history_entry_type.py +3 -3
- adcp/types/generated_poc/enums/http_method.py +3 -3
- adcp/types/generated_poc/enums/identifier_types.py +20 -20
- adcp/types/generated_poc/enums/javascript_module_type.py +4 -4
- adcp/types/generated_poc/enums/landing_page_requirement.py +4 -4
- adcp/types/generated_poc/enums/markdown_flavor.py +3 -3
- adcp/types/generated_poc/enums/media_buy_status.py +5 -5
- adcp/types/generated_poc/enums/metric_type.py +9 -9
- adcp/types/generated_poc/enums/metro_system.py +15 -0
- adcp/types/generated_poc/enums/notification_type.py +5 -5
- adcp/types/generated_poc/enums/pacing.py +4 -4
- adcp/types/generated_poc/enums/postal_system.py +19 -0
- adcp/types/generated_poc/enums/preview_output_format.py +3 -3
- adcp/types/generated_poc/enums/pricing_model.py +8 -8
- adcp/types/generated_poc/enums/property_type.py +9 -8
- adcp/types/generated_poc/enums/publisher_identifier_types.py +6 -6
- adcp/types/generated_poc/enums/reporting_frequency.py +4 -4
- adcp/types/generated_poc/enums/signal_catalog_type.py +4 -4
- adcp/types/generated_poc/enums/sort_direction.py +3 -3
- adcp/types/generated_poc/enums/task_status.py +10 -10
- adcp/types/generated_poc/enums/task_type.py +12 -12
- adcp/types/generated_poc/enums/update_frequency.py +5 -5
- adcp/types/generated_poc/enums/url_asset_type.py +4 -4
- adcp/types/generated_poc/enums/validation_mode.py +3 -3
- adcp/types/generated_poc/enums/vast_tracking_event.py +17 -17
- adcp/types/generated_poc/enums/vast_version.py +6 -6
- adcp/types/generated_poc/enums/webhook_response_type.py +5 -5
- adcp/types/generated_poc/enums/webhook_security_method.py +4 -4
- adcp/types/generated_poc/extensions/extension_meta.py +20 -12
- adcp/types/generated_poc/media_buy/build_creative_request.py +5 -5
- adcp/types/generated_poc/media_buy/build_creative_response.py +7 -7
- adcp/types/generated_poc/media_buy/create_media_buy_async_response_input_required.py +6 -6
- adcp/types/generated_poc/media_buy/create_media_buy_async_response_submitted.py +2 -2
- adcp/types/generated_poc/media_buy/create_media_buy_async_response_working.py +6 -6
- adcp/types/generated_poc/media_buy/create_media_buy_request.py +65 -37
- adcp/types/generated_poc/media_buy/create_media_buy_response.py +8 -8
- adcp/types/generated_poc/media_buy/get_media_buy_delivery_request.py +9 -9
- adcp/types/generated_poc/media_buy/get_media_buy_delivery_response.py +52 -52
- adcp/types/generated_poc/media_buy/get_products_async_response_input_required.py +7 -7
- adcp/types/generated_poc/media_buy/get_products_async_response_submitted.py +3 -3
- adcp/types/generated_poc/media_buy/get_products_async_response_working.py +5 -5
- adcp/types/generated_poc/media_buy/get_products_request.py +14 -5
- adcp/types/generated_poc/media_buy/get_products_response.py +12 -6
- adcp/types/generated_poc/media_buy/list_authorized_properties_request.py +4 -4
- adcp/types/generated_poc/media_buy/list_authorized_properties_response.py +9 -9
- adcp/types/generated_poc/media_buy/list_creative_formats_request.py +10 -10
- adcp/types/generated_poc/media_buy/list_creative_formats_response.py +6 -6
- adcp/types/generated_poc/media_buy/list_creatives_request.py +24 -24
- adcp/types/generated_poc/media_buy/list_creatives_response.py +54 -57
- adcp/types/generated_poc/media_buy/package_request.py +12 -12
- adcp/types/generated_poc/media_buy/package_update.py +119 -0
- adcp/types/generated_poc/media_buy/provide_performance_feedback_request.py +20 -20
- adcp/types/generated_poc/media_buy/provide_performance_feedback_response.py +7 -7
- adcp/types/generated_poc/media_buy/sync_creatives_async_response_input_required.py +6 -6
- adcp/types/generated_poc/media_buy/sync_creatives_async_response_submitted.py +2 -2
- adcp/types/generated_poc/media_buy/sync_creatives_async_response_working.py +8 -8
- adcp/types/generated_poc/media_buy/sync_creatives_request.py +8 -8
- adcp/types/generated_poc/media_buy/sync_creatives_response.py +16 -16
- adcp/types/generated_poc/media_buy/update_media_buy_async_response_input_required.py +5 -5
- adcp/types/generated_poc/media_buy/update_media_buy_async_response_submitted.py +2 -2
- adcp/types/generated_poc/media_buy/update_media_buy_async_response_working.py +6 -6
- adcp/types/generated_poc/media_buy/update_media_buy_request.py +28 -124
- adcp/types/generated_poc/media_buy/update_media_buy_response.py +8 -8
- adcp/types/generated_poc/pricing_options/cpc_option.py +40 -15
- adcp/types/generated_poc/pricing_options/cpcv_option.py +41 -16
- adcp/types/generated_poc/pricing_options/cpm_option.py +62 -0
- adcp/types/generated_poc/pricing_options/cpp_option.py +46 -23
- adcp/types/generated_poc/pricing_options/cpv_option.py +45 -26
- adcp/types/generated_poc/pricing_options/flat_rate_option.py +53 -47
- adcp/types/generated_poc/pricing_options/vcpm_option.py +70 -0
- adcp/types/generated_poc/property/base_property_source.py +16 -16
- adcp/types/generated_poc/property/create_property_list_request.py +5 -5
- adcp/types/generated_poc/property/create_property_list_response.py +4 -4
- adcp/types/generated_poc/property/delete_property_list_request.py +3 -3
- adcp/types/generated_poc/property/delete_property_list_response.py +4 -4
- adcp/types/generated_poc/property/feature_requirement.py +8 -8
- adcp/types/generated_poc/property/get_property_list_request.py +6 -6
- adcp/types/generated_poc/property/get_property_list_response.py +12 -12
- adcp/types/generated_poc/property/list_property_lists_request.py +6 -6
- adcp/types/generated_poc/property/list_property_lists_response.py +9 -9
- adcp/types/generated_poc/property/property_error.py +11 -11
- adcp/types/generated_poc/property/property_feature.py +5 -5
- adcp/types/generated_poc/property/property_feature_definition.py +19 -19
- adcp/types/generated_poc/property/property_list.py +12 -12
- adcp/types/generated_poc/property/property_list_changed_webhook.py +12 -12
- adcp/types/generated_poc/property/property_list_filters.py +9 -9
- adcp/types/generated_poc/property/update_property_list_request.py +9 -9
- adcp/types/generated_poc/property/update_property_list_response.py +3 -3
- adcp/types/generated_poc/protocol/__init__.py +3 -0
- adcp/types/generated_poc/protocol/get_adcp_capabilities_request.py +34 -0
- adcp/types/generated_poc/protocol/get_adcp_capabilities_response.py +353 -0
- adcp/types/generated_poc/protocols/adcp_extension.py +14 -17
- adcp/types/generated_poc/signals/activate_signal_request.py +4 -4
- adcp/types/generated_poc/signals/activate_signal_response.py +7 -7
- adcp/types/generated_poc/signals/get_signals_request.py +9 -9
- adcp/types/generated_poc/signals/get_signals_response.py +16 -16
- adcp/types/generated_poc/sponsored_intelligence/__init__.py +3 -0
- adcp/types/generated_poc/sponsored_intelligence/si_capabilities.py +102 -0
- adcp/types/generated_poc/sponsored_intelligence/si_get_offering_request.py +34 -0
- adcp/types/generated_poc/sponsored_intelligence/si_get_offering_response.py +100 -0
- adcp/types/generated_poc/sponsored_intelligence/si_identity.py +78 -0
- adcp/types/generated_poc/sponsored_intelligence/si_initiate_session_request.py +46 -0
- adcp/types/generated_poc/sponsored_intelligence/si_initiate_session_response.py +44 -0
- adcp/types/generated_poc/sponsored_intelligence/si_send_message_request.py +58 -0
- adcp/types/generated_poc/sponsored_intelligence/si_send_message_response.py +101 -0
- adcp/types/generated_poc/sponsored_intelligence/si_terminate_session_request.py +60 -0
- adcp/types/generated_poc/sponsored_intelligence/si_terminate_session_response.py +54 -0
- adcp/types/generated_poc/sponsored_intelligence/si_ui_element.py +30 -0
- adcp/utils/format_assets.py +5 -5
- adcp/utils/preview_cache.py +2 -2
- {adcp-2.19.0.dist-info → adcp-3.0.0.dist-info}/METADATA +1 -1
- adcp-3.0.0.dist-info/RECORD +264 -0
- {adcp-2.19.0.dist-info → adcp-3.0.0.dist-info}/WHEEL +1 -1
- adcp/types/generated_poc/enums/standard_format_ids.py +0 -45
- adcp/types/generated_poc/pricing_options/cpm_auction_option.py +0 -58
- adcp/types/generated_poc/pricing_options/cpm_fixed_option.py +0 -43
- adcp/types/generated_poc/pricing_options/vcpm_auction_option.py +0 -61
- adcp/types/generated_poc/pricing_options/vcpm_fixed_option.py +0 -47
- adcp/types/generated_poc/property/list_property_features_request.py +0 -25
- adcp/types/generated_poc/property/list_property_features_response.py +0 -24
- adcp-2.19.0.dist-info/RECORD +0 -220
- {adcp-2.19.0.dist-info → adcp-3.0.0.dist-info}/entry_points.txt +0 -0
- {adcp-2.19.0.dist-info → adcp-3.0.0.dist-info}/licenses/LICENSE +0 -0
- {adcp-2.19.0.dist-info → adcp-3.0.0.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: enums/publisher_identifier_types.json
|
|
3
|
-
# timestamp:
|
|
3
|
+
# timestamp: 2026-01-25T21:17:54+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -8,8 +8,8 @@ from enum import Enum
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class PublisherIdentifierTypes(Enum):
|
|
11
|
-
tag_id =
|
|
12
|
-
duns =
|
|
13
|
-
lei =
|
|
14
|
-
seller_id =
|
|
15
|
-
gln =
|
|
11
|
+
tag_id = 'tag_id'
|
|
12
|
+
duns = 'duns'
|
|
13
|
+
lei = 'lei'
|
|
14
|
+
seller_id = 'seller_id'
|
|
15
|
+
gln = 'gln'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: enums/reporting_frequency.json
|
|
3
|
-
# timestamp:
|
|
3
|
+
# timestamp: 2026-01-25T21:17:54+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -8,6 +8,6 @@ from enum import Enum
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class ReportingFrequency(Enum):
|
|
11
|
-
hourly =
|
|
12
|
-
daily =
|
|
13
|
-
monthly =
|
|
11
|
+
hourly = 'hourly'
|
|
12
|
+
daily = 'daily'
|
|
13
|
+
monthly = 'monthly'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: enums/signal_catalog_type.json
|
|
3
|
-
# timestamp:
|
|
3
|
+
# timestamp: 2026-01-25T21:17:54+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -8,6 +8,6 @@ from enum import Enum
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class SignalCatalogType(Enum):
|
|
11
|
-
marketplace =
|
|
12
|
-
custom =
|
|
13
|
-
owned =
|
|
11
|
+
marketplace = 'marketplace'
|
|
12
|
+
custom = 'custom'
|
|
13
|
+
owned = 'owned'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: enums/sort_direction.json
|
|
3
|
-
# timestamp:
|
|
3
|
+
# timestamp: 2026-01-25T21:17:54+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -8,5 +8,5 @@ from enum import Enum
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class SortDirection(Enum):
|
|
11
|
-
asc =
|
|
12
|
-
desc =
|
|
11
|
+
asc = 'asc'
|
|
12
|
+
desc = 'desc'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: enums/task_status.json
|
|
3
|
-
# timestamp:
|
|
3
|
+
# timestamp: 2026-01-25T21:17:54+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -8,12 +8,12 @@ from enum import Enum
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class TaskStatus(Enum):
|
|
11
|
-
submitted =
|
|
12
|
-
working =
|
|
13
|
-
input_required =
|
|
14
|
-
completed =
|
|
15
|
-
canceled =
|
|
16
|
-
failed =
|
|
17
|
-
rejected =
|
|
18
|
-
auth_required =
|
|
19
|
-
unknown =
|
|
11
|
+
submitted = 'submitted'
|
|
12
|
+
working = 'working'
|
|
13
|
+
input_required = 'input-required'
|
|
14
|
+
completed = 'completed'
|
|
15
|
+
canceled = 'canceled'
|
|
16
|
+
failed = 'failed'
|
|
17
|
+
rejected = 'rejected'
|
|
18
|
+
auth_required = 'auth-required'
|
|
19
|
+
unknown = 'unknown'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: enums/task_type.json
|
|
3
|
-
# timestamp: 2026-01-
|
|
3
|
+
# timestamp: 2026-01-25T21:17:54+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -8,14 +8,14 @@ from enum import Enum
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class TaskType(Enum):
|
|
11
|
-
create_media_buy =
|
|
12
|
-
update_media_buy =
|
|
13
|
-
sync_creatives =
|
|
14
|
-
activate_signal =
|
|
15
|
-
get_signals =
|
|
16
|
-
list_property_features =
|
|
17
|
-
create_property_list =
|
|
18
|
-
update_property_list =
|
|
19
|
-
get_property_list =
|
|
20
|
-
list_property_lists =
|
|
21
|
-
delete_property_list =
|
|
11
|
+
create_media_buy = 'create_media_buy'
|
|
12
|
+
update_media_buy = 'update_media_buy'
|
|
13
|
+
sync_creatives = 'sync_creatives'
|
|
14
|
+
activate_signal = 'activate_signal'
|
|
15
|
+
get_signals = 'get_signals'
|
|
16
|
+
list_property_features = 'list_property_features'
|
|
17
|
+
create_property_list = 'create_property_list'
|
|
18
|
+
update_property_list = 'update_property_list'
|
|
19
|
+
get_property_list = 'get_property_list'
|
|
20
|
+
list_property_lists = 'list_property_lists'
|
|
21
|
+
delete_property_list = 'delete_property_list'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: enums/update_frequency.json
|
|
3
|
-
# timestamp:
|
|
3
|
+
# timestamp: 2026-01-25T21:17:54+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -8,7 +8,7 @@ from enum import Enum
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class UpdateFrequency(Enum):
|
|
11
|
-
realtime =
|
|
12
|
-
hourly =
|
|
13
|
-
daily =
|
|
14
|
-
weekly =
|
|
11
|
+
realtime = 'realtime'
|
|
12
|
+
hourly = 'hourly'
|
|
13
|
+
daily = 'daily'
|
|
14
|
+
weekly = 'weekly'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: enums/url_asset_type.json
|
|
3
|
-
# timestamp:
|
|
3
|
+
# timestamp: 2026-01-25T21:17:54+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -8,6 +8,6 @@ from enum import Enum
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class UrlAssetType(Enum):
|
|
11
|
-
clickthrough =
|
|
12
|
-
tracker_pixel =
|
|
13
|
-
tracker_script =
|
|
11
|
+
clickthrough = 'clickthrough'
|
|
12
|
+
tracker_pixel = 'tracker_pixel'
|
|
13
|
+
tracker_script = 'tracker_script'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: enums/validation_mode.json
|
|
3
|
-
# timestamp:
|
|
3
|
+
# timestamp: 2026-01-25T21:17:54+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -8,5 +8,5 @@ from enum import Enum
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class ValidationMode(Enum):
|
|
11
|
-
strict =
|
|
12
|
-
lenient =
|
|
11
|
+
strict = 'strict'
|
|
12
|
+
lenient = 'lenient'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: enums/vast_tracking_event.json
|
|
3
|
-
# timestamp:
|
|
3
|
+
# timestamp: 2026-01-25T21:17:54+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -8,19 +8,19 @@ from enum import Enum
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class VastTrackingEvent(Enum):
|
|
11
|
-
start =
|
|
12
|
-
firstQuartile =
|
|
13
|
-
midpoint =
|
|
14
|
-
thirdQuartile =
|
|
15
|
-
complete =
|
|
16
|
-
impression =
|
|
17
|
-
click =
|
|
18
|
-
pause =
|
|
19
|
-
resume =
|
|
20
|
-
skip =
|
|
21
|
-
mute =
|
|
22
|
-
unmute =
|
|
23
|
-
fullscreen =
|
|
24
|
-
exitFullscreen =
|
|
25
|
-
playerExpand =
|
|
26
|
-
playerCollapse =
|
|
11
|
+
start = 'start'
|
|
12
|
+
firstQuartile = 'firstQuartile'
|
|
13
|
+
midpoint = 'midpoint'
|
|
14
|
+
thirdQuartile = 'thirdQuartile'
|
|
15
|
+
complete = 'complete'
|
|
16
|
+
impression = 'impression'
|
|
17
|
+
click = 'click'
|
|
18
|
+
pause = 'pause'
|
|
19
|
+
resume = 'resume'
|
|
20
|
+
skip = 'skip'
|
|
21
|
+
mute = 'mute'
|
|
22
|
+
unmute = 'unmute'
|
|
23
|
+
fullscreen = 'fullscreen'
|
|
24
|
+
exitFullscreen = 'exitFullscreen'
|
|
25
|
+
playerExpand = 'playerExpand'
|
|
26
|
+
playerCollapse = 'playerCollapse'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: enums/vast_version.json
|
|
3
|
-
# timestamp:
|
|
3
|
+
# timestamp: 2026-01-25T21:17:54+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -8,8 +8,8 @@ from enum import Enum
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class VastVersion(Enum):
|
|
11
|
-
field_2_0 =
|
|
12
|
-
field_3_0 =
|
|
13
|
-
field_4_0 =
|
|
14
|
-
field_4_1 =
|
|
15
|
-
field_4_2 =
|
|
11
|
+
field_2_0 = '2.0'
|
|
12
|
+
field_3_0 = '3.0'
|
|
13
|
+
field_4_0 = '4.0'
|
|
14
|
+
field_4_1 = '4.1'
|
|
15
|
+
field_4_2 = '4.2'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: enums/webhook_response_type.json
|
|
3
|
-
# timestamp:
|
|
3
|
+
# timestamp: 2026-01-25T21:17:54+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -8,7 +8,7 @@ from enum import Enum
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class WebhookResponseType(Enum):
|
|
11
|
-
html =
|
|
12
|
-
json =
|
|
13
|
-
xml =
|
|
14
|
-
javascript =
|
|
11
|
+
html = 'html'
|
|
12
|
+
json = 'json'
|
|
13
|
+
xml = 'xml'
|
|
14
|
+
javascript = 'javascript'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: enums/webhook_security_method.json
|
|
3
|
-
# timestamp:
|
|
3
|
+
# timestamp: 2026-01-25T21:17:54+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -8,6 +8,6 @@ from enum import Enum
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class WebhookSecurityMethod(Enum):
|
|
11
|
-
hmac_sha256 =
|
|
12
|
-
api_key =
|
|
13
|
-
none =
|
|
11
|
+
hmac_sha256 = 'hmac_sha256'
|
|
12
|
+
api_key = 'api_key'
|
|
13
|
+
none = 'none'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: extensions/extension_meta.json
|
|
3
|
-
# timestamp: 2026-01-
|
|
3
|
+
# timestamp: 2026-01-26T11:59:53+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -11,40 +11,48 @@ from pydantic import AnyUrl, Field
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
class AdcpExtensionFileSchema(AdCPBaseModel):
|
|
14
|
+
field_id: Annotated[
|
|
15
|
+
str,
|
|
16
|
+
Field(
|
|
17
|
+
alias='$id',
|
|
18
|
+
description='Extension ID following pattern /schemas/extensions/{namespace}.json',
|
|
19
|
+
pattern='^/schemas/extensions/[a-z][a-z0-9_]*\\.json$',
|
|
20
|
+
),
|
|
21
|
+
]
|
|
14
22
|
field_schema: Annotated[
|
|
15
|
-
Literal[
|
|
23
|
+
Literal['http://json-schema.org/draft-07/schema#'], Field(alias='$schema')
|
|
16
24
|
]
|
|
17
25
|
additionalProperties: Annotated[
|
|
18
26
|
Any | None,
|
|
19
|
-
Field(description=
|
|
27
|
+
Field(description='Whether additional properties are allowed in the extension data'),
|
|
20
28
|
] = None
|
|
21
|
-
description: Annotated[str, Field(description=
|
|
29
|
+
description: Annotated[str, Field(description='Description of what this extension provides')]
|
|
22
30
|
docs_url: Annotated[
|
|
23
|
-
AnyUrl | None, Field(description=
|
|
31
|
+
AnyUrl | None, Field(description='URL to documentation for implementors of this extension')
|
|
24
32
|
] = None
|
|
25
33
|
properties: Annotated[
|
|
26
34
|
dict[str, Any],
|
|
27
|
-
Field(description=
|
|
35
|
+
Field(description='Schema properties defining the structure of ext.{namespace} data'),
|
|
28
36
|
]
|
|
29
37
|
required: Annotated[
|
|
30
|
-
list[str] | None, Field(description=
|
|
38
|
+
list[str] | None, Field(description='Required properties within the extension data')
|
|
31
39
|
] = None
|
|
32
|
-
title: Annotated[str, Field(description=
|
|
40
|
+
title: Annotated[str, Field(description='Human-readable title for the extension')]
|
|
33
41
|
type: Annotated[
|
|
34
|
-
Literal[
|
|
35
|
-
Field(description=
|
|
42
|
+
Literal['object'],
|
|
43
|
+
Field(description='Extensions must be objects (data within ext.{namespace})'),
|
|
36
44
|
]
|
|
37
45
|
valid_from: Annotated[
|
|
38
46
|
str,
|
|
39
47
|
Field(
|
|
40
48
|
description="Minimum AdCP version this extension is compatible with (e.g., '2.5'). Extension will be included in all versioned schema builds >= this version.",
|
|
41
|
-
pattern=
|
|
49
|
+
pattern='^\\d+\\.\\d+$',
|
|
42
50
|
),
|
|
43
51
|
]
|
|
44
52
|
valid_until: Annotated[
|
|
45
53
|
str | None,
|
|
46
54
|
Field(
|
|
47
55
|
description="Last AdCP version this extension is compatible with (e.g., '3.0'). Omit if extension is still valid for current and future versions.",
|
|
48
|
-
pattern=
|
|
56
|
+
pattern='^\\d+\\.\\d+$',
|
|
49
57
|
),
|
|
50
58
|
] = None
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: media_buy/build_creative_request.json
|
|
3
|
-
# timestamp: 2026-01-
|
|
3
|
+
# timestamp: 2026-01-25T21:17:54+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -17,25 +17,25 @@ from ..core import format_id
|
|
|
17
17
|
|
|
18
18
|
class BuildCreativeRequest(AdCPBaseModel):
|
|
19
19
|
model_config = ConfigDict(
|
|
20
|
-
extra=
|
|
20
|
+
extra='allow',
|
|
21
21
|
)
|
|
22
22
|
context: context_1.ContextObject | None = None
|
|
23
23
|
creative_manifest: Annotated[
|
|
24
24
|
creative_manifest_1.CreativeManifest | None,
|
|
25
25
|
Field(
|
|
26
|
-
description=
|
|
26
|
+
description='Creative manifest to transform or generate from. For pure generation, this should include the target format_id and any required input assets (e.g., promoted_offerings for generative formats). For transformation (e.g., resizing, reformatting), this is the complete creative to adapt.'
|
|
27
27
|
),
|
|
28
28
|
] = None
|
|
29
29
|
ext: ext_1.ExtensionObject | None = None
|
|
30
30
|
message: Annotated[
|
|
31
31
|
str | None,
|
|
32
32
|
Field(
|
|
33
|
-
description=
|
|
33
|
+
description='Natural language instructions for the transformation or generation. For pure generation, this is the creative brief. For transformation, this provides guidance on how to adapt the creative.'
|
|
34
34
|
),
|
|
35
35
|
] = None
|
|
36
36
|
target_format_id: Annotated[
|
|
37
37
|
format_id.FormatId,
|
|
38
38
|
Field(
|
|
39
|
-
description=
|
|
39
|
+
description='Format ID to generate. The format definition specifies required input assets and output structure.'
|
|
40
40
|
),
|
|
41
41
|
]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: media_buy/build_creative_response.json
|
|
3
|
-
# timestamp: 2026-01-
|
|
3
|
+
# timestamp: 2026-01-25T21:17:54+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -17,13 +17,13 @@ from ..core import ext as ext_1
|
|
|
17
17
|
|
|
18
18
|
class BuildCreativeResponse2(AdCPBaseModel):
|
|
19
19
|
model_config = ConfigDict(
|
|
20
|
-
extra=
|
|
20
|
+
extra='allow',
|
|
21
21
|
)
|
|
22
22
|
context: context_1.ContextObject | None = None
|
|
23
23
|
errors: Annotated[
|
|
24
24
|
list[error.Error],
|
|
25
25
|
Field(
|
|
26
|
-
description=
|
|
26
|
+
description='Array of errors explaining why creative generation failed', min_length=1
|
|
27
27
|
),
|
|
28
28
|
]
|
|
29
29
|
ext: ext_1.ExtensionObject | None = None
|
|
@@ -31,12 +31,12 @@ class BuildCreativeResponse2(AdCPBaseModel):
|
|
|
31
31
|
|
|
32
32
|
class BuildCreativeResponse1(AdCPBaseModel):
|
|
33
33
|
model_config = ConfigDict(
|
|
34
|
-
extra=
|
|
34
|
+
extra='allow',
|
|
35
35
|
)
|
|
36
36
|
context: context_1.ContextObject | None = None
|
|
37
37
|
creative_manifest: Annotated[
|
|
38
38
|
creative_manifest_1.CreativeManifest,
|
|
39
|
-
Field(description=
|
|
39
|
+
Field(description='The generated or transformed creative manifest'),
|
|
40
40
|
]
|
|
41
41
|
ext: ext_1.ExtensionObject | None = None
|
|
42
42
|
|
|
@@ -45,7 +45,7 @@ class BuildCreativeResponse(RootModel[BuildCreativeResponse1 | BuildCreativeResp
|
|
|
45
45
|
root: Annotated[
|
|
46
46
|
BuildCreativeResponse1 | BuildCreativeResponse2,
|
|
47
47
|
Field(
|
|
48
|
-
description=
|
|
49
|
-
title=
|
|
48
|
+
description='Response containing the transformed or generated creative manifest, ready for use with preview_creative or sync_creatives. Returns either the complete creative manifest OR error information, never both.',
|
|
49
|
+
title='Build Creative Response',
|
|
50
50
|
),
|
|
51
51
|
]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: media_buy/create_media_buy_async_response_input_required.json
|
|
3
|
-
# timestamp: 2026-01-
|
|
3
|
+
# timestamp: 2026-01-25T21:17:54+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -16,22 +16,22 @@ from ..core import ext as ext_1
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
class Reason(Enum):
|
|
19
|
-
APPROVAL_REQUIRED =
|
|
20
|
-
BUDGET_EXCEEDS_LIMIT =
|
|
19
|
+
APPROVAL_REQUIRED = 'APPROVAL_REQUIRED'
|
|
20
|
+
BUDGET_EXCEEDS_LIMIT = 'BUDGET_EXCEEDS_LIMIT'
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
class CreateMediaBuyInputRequired(AdCPBaseModel):
|
|
24
24
|
model_config = ConfigDict(
|
|
25
|
-
extra=
|
|
25
|
+
extra='allow',
|
|
26
26
|
)
|
|
27
27
|
context: context_1.ContextObject | None = None
|
|
28
28
|
errors: Annotated[
|
|
29
29
|
list[error.Error] | None,
|
|
30
30
|
Field(
|
|
31
|
-
description=
|
|
31
|
+
description='Optional validation errors or warnings for debugging purposes. Helps explain why input is required.'
|
|
32
32
|
),
|
|
33
33
|
] = None
|
|
34
34
|
ext: ext_1.ExtensionObject | None = None
|
|
35
35
|
reason: Annotated[
|
|
36
|
-
Reason | None, Field(description=
|
|
36
|
+
Reason | None, Field(description='Reason code indicating why input is needed')
|
|
37
37
|
] = None
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: media_buy/create_media_buy_async_response_submitted.json
|
|
3
|
-
# timestamp: 2026-01-
|
|
3
|
+
# timestamp: 2026-01-25T21:17:54+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -13,7 +13,7 @@ from ..core import ext as ext_1
|
|
|
13
13
|
|
|
14
14
|
class CreateMediaBuySubmitted(AdCPBaseModel):
|
|
15
15
|
model_config = ConfigDict(
|
|
16
|
-
extra=
|
|
16
|
+
extra='allow',
|
|
17
17
|
)
|
|
18
18
|
context: context_1.ContextObject | None = None
|
|
19
19
|
ext: ext_1.ExtensionObject | None = None
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: media_buy/create_media_buy_async_response_working.json
|
|
3
|
-
# timestamp: 2026-01-
|
|
3
|
+
# timestamp: 2026-01-25T21:17:54+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -15,17 +15,17 @@ from ..core import ext as ext_1
|
|
|
15
15
|
|
|
16
16
|
class CreateMediaBuyWorking(AdCPBaseModel):
|
|
17
17
|
model_config = ConfigDict(
|
|
18
|
-
extra=
|
|
18
|
+
extra='allow',
|
|
19
19
|
)
|
|
20
20
|
context: context_1.ContextObject | None = None
|
|
21
21
|
current_step: Annotated[
|
|
22
|
-
str | None, Field(description=
|
|
22
|
+
str | None, Field(description='Current step or phase of the operation')
|
|
23
23
|
] = None
|
|
24
24
|
ext: ext_1.ExtensionObject | None = None
|
|
25
25
|
percentage: Annotated[
|
|
26
|
-
float | None, Field(description=
|
|
26
|
+
float | None, Field(description='Completion percentage (0-100)', ge=0.0, le=100.0)
|
|
27
27
|
] = None
|
|
28
|
-
step_number: Annotated[int | None, Field(description=
|
|
28
|
+
step_number: Annotated[int | None, Field(description='Current step number', ge=1)] = None
|
|
29
29
|
total_steps: Annotated[
|
|
30
|
-
int | None, Field(description=
|
|
30
|
+
int | None, Field(description='Total number of steps in the operation', ge=1)
|
|
31
31
|
] = None
|