adcp 2.4.0__py3-none-any.whl → 2.5.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.
Files changed (119) hide show
  1. adcp/__init__.py +91 -39
  2. adcp/__main__.py +1 -1
  3. adcp/client.py +9 -9
  4. adcp/simple.py +1 -1
  5. adcp/testing/test_helpers.py +1 -1
  6. adcp/types/__init__.py +69 -2
  7. adcp/types/{generated.py → _generated.py} +67 -11
  8. adcp/types/aliases.py +55 -1
  9. adcp/types/generated_poc/__init__.py +1 -1
  10. adcp/types/generated_poc/activate_signal_request.py +1 -1
  11. adcp/types/generated_poc/activate_signal_response.py +1 -1
  12. adcp/types/generated_poc/activation_key.py +1 -1
  13. adcp/types/generated_poc/adagents.py +1 -1
  14. adcp/types/generated_poc/asset_type.py +1 -1
  15. adcp/types/generated_poc/audio_asset.py +1 -1
  16. adcp/types/generated_poc/brand_manifest.py +3 -62
  17. adcp/types/generated_poc/build_creative_request.py +1 -1
  18. adcp/types/generated_poc/build_creative_response.py +1 -1
  19. adcp/types/generated_poc/channels.py +1 -1
  20. adcp/types/generated_poc/cpc_option.py +1 -1
  21. adcp/types/generated_poc/cpcv_option.py +1 -1
  22. adcp/types/generated_poc/cpm_auction_option.py +1 -1
  23. adcp/types/generated_poc/cpm_fixed_option.py +1 -1
  24. adcp/types/generated_poc/cpp_option.py +1 -1
  25. adcp/types/generated_poc/cpv_option.py +1 -1
  26. adcp/types/generated_poc/create_media_buy_request.py +2 -2
  27. adcp/types/generated_poc/create_media_buy_response.py +1 -1
  28. adcp/types/generated_poc/creative_asset.py +1 -1
  29. adcp/types/generated_poc/creative_assignment.py +1 -1
  30. adcp/types/generated_poc/creative_manifest.py +1 -1
  31. adcp/types/generated_poc/creative_policy.py +1 -1
  32. adcp/types/generated_poc/creative_status.py +1 -1
  33. adcp/types/generated_poc/css_asset.py +1 -1
  34. adcp/types/generated_poc/daast_asset.py +1 -1
  35. adcp/types/generated_poc/delivery_metrics.py +1 -1
  36. adcp/types/generated_poc/delivery_type.py +1 -1
  37. adcp/types/generated_poc/deployment.py +1 -1
  38. adcp/types/generated_poc/destination.py +1 -1
  39. adcp/types/generated_poc/error.py +1 -1
  40. adcp/types/generated_poc/flat_rate_option.py +1 -1
  41. adcp/types/generated_poc/format.py +1 -1
  42. adcp/types/generated_poc/format_id.py +1 -1
  43. adcp/types/generated_poc/frequency_cap.py +1 -1
  44. adcp/types/generated_poc/frequency_cap_scope.py +1 -1
  45. adcp/types/generated_poc/get_media_buy_delivery_request.py +1 -1
  46. adcp/types/generated_poc/get_media_buy_delivery_response.py +1 -1
  47. adcp/types/generated_poc/get_products_request.py +2 -2
  48. adcp/types/generated_poc/get_products_response.py +1 -1
  49. adcp/types/generated_poc/get_signals_request.py +1 -1
  50. adcp/types/generated_poc/get_signals_response.py +1 -1
  51. adcp/types/generated_poc/html_asset.py +1 -1
  52. adcp/types/generated_poc/identifier_types.py +1 -1
  53. adcp/types/generated_poc/image_asset.py +1 -1
  54. adcp/types/generated_poc/javascript_asset.py +1 -1
  55. adcp/types/generated_poc/list_authorized_properties_request.py +1 -1
  56. adcp/types/generated_poc/list_authorized_properties_response.py +1 -1
  57. adcp/types/generated_poc/list_creative_formats_request.py +1 -1
  58. adcp/types/generated_poc/list_creative_formats_response.py +1 -1
  59. adcp/types/generated_poc/list_creatives_request.py +1 -1
  60. adcp/types/generated_poc/list_creatives_response.py +2 -17
  61. adcp/types/generated_poc/markdown_asset.py +1 -1
  62. adcp/types/generated_poc/measurement.py +1 -1
  63. adcp/types/generated_poc/media_buy.py +1 -1
  64. adcp/types/generated_poc/media_buy_status.py +1 -1
  65. adcp/types/generated_poc/pacing.py +1 -1
  66. adcp/types/generated_poc/package.py +1 -1
  67. adcp/types/generated_poc/package_request.py +1 -1
  68. adcp/types/generated_poc/package_status.py +1 -1
  69. adcp/types/generated_poc/performance_feedback.py +1 -1
  70. adcp/types/generated_poc/placement.py +1 -1
  71. adcp/types/generated_poc/preview_creative_request.py +1 -1
  72. adcp/types/generated_poc/preview_creative_response.py +1 -1
  73. adcp/types/generated_poc/preview_render.py +1 -1
  74. adcp/types/generated_poc/pricing_model.py +1 -1
  75. adcp/types/generated_poc/product.py +25 -16
  76. adcp/types/generated_poc/promoted_offerings.py +2 -2
  77. adcp/types/generated_poc/promoted_products.py +1 -1
  78. adcp/types/generated_poc/property.py +1 -1
  79. adcp/types/generated_poc/protocol_envelope.py +1 -1
  80. adcp/types/generated_poc/provide_performance_feedback_request.py +1 -1
  81. adcp/types/generated_poc/provide_performance_feedback_response.py +1 -1
  82. adcp/types/generated_poc/publisher_identifier_types.py +1 -1
  83. adcp/types/generated_poc/push_notification_config.py +1 -1
  84. adcp/types/generated_poc/reporting_capabilities.py +1 -1
  85. adcp/types/generated_poc/response.py +1 -1
  86. adcp/types/generated_poc/standard_format_ids.py +1 -1
  87. adcp/types/generated_poc/sub_asset.py +1 -1
  88. adcp/types/generated_poc/sync_creatives_request.py +1 -1
  89. adcp/types/generated_poc/sync_creatives_response.py +1 -1
  90. adcp/types/generated_poc/targeting.py +1 -1
  91. adcp/types/generated_poc/task_status.py +1 -1
  92. adcp/types/generated_poc/task_type.py +1 -1
  93. adcp/types/generated_poc/tasks_get_request.py +1 -1
  94. adcp/types/generated_poc/tasks_get_response.py +1 -1
  95. adcp/types/generated_poc/tasks_list_request.py +1 -1
  96. adcp/types/generated_poc/tasks_list_response.py +1 -1
  97. adcp/types/generated_poc/text_asset.py +1 -1
  98. adcp/types/generated_poc/update_media_buy_request.py +1 -1
  99. adcp/types/generated_poc/update_media_buy_response.py +1 -1
  100. adcp/types/generated_poc/url_asset.py +1 -1
  101. adcp/types/generated_poc/vast_asset.py +1 -1
  102. adcp/types/generated_poc/vcpm_auction_option.py +1 -1
  103. adcp/types/generated_poc/vcpm_fixed_option.py +1 -1
  104. adcp/types/generated_poc/video_asset.py +1 -1
  105. adcp/types/generated_poc/webhook_asset.py +1 -1
  106. adcp/types/generated_poc/webhook_payload.py +1 -1
  107. adcp/types/stable.py +177 -0
  108. adcp/utils/preview_cache.py +6 -6
  109. {adcp-2.4.0.dist-info → adcp-2.5.0.dist-info}/METADATA +45 -5
  110. adcp-2.5.0.dist-info/RECORD +129 -0
  111. adcp/types/generated_poc/brand_manifest_ref.py +0 -361
  112. adcp/types/generated_poc/index.py +0 -17
  113. adcp/types/generated_poc/pricing_option.py +0 -365
  114. adcp/types/generated_poc/start_timing.py +0 -13
  115. adcp-2.4.0.dist-info/RECORD +0 -132
  116. {adcp-2.4.0.dist-info → adcp-2.5.0.dist-info}/WHEEL +0 -0
  117. {adcp-2.4.0.dist-info → adcp-2.5.0.dist-info}/entry_points.txt +0 -0
  118. {adcp-2.4.0.dist-info → adcp-2.5.0.dist-info}/licenses/LICENSE +0 -0
  119. {adcp-2.4.0.dist-info → adcp-2.5.0.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: brand-manifest.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T04:34:42+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -148,7 +148,7 @@ class ProductCatalog(AdCPBaseModel):
148
148
  ] = None
149
149
 
150
150
 
151
- class BrandManifest1(AdCPBaseModel):
151
+ class BrandManifest(AdCPBaseModel):
152
152
  model_config = ConfigDict(
153
153
  extra='forbid',
154
154
  )
@@ -176,68 +176,9 @@ class BrandManifest1(AdCPBaseModel):
176
176
  Field(description='Brand logo assets with semantic tags for different use cases'),
177
177
  ] = None
178
178
  metadata: Annotated[Metadata | None, Field(description='Additional brand metadata')] = None
179
- name: Annotated[str | None, Field(description='Brand or business name')] = None
180
- product_catalog: Annotated[
181
- ProductCatalog | None,
182
- Field(
183
- description='Product catalog information for e-commerce advertisers. Enables SKU-level creative generation and product selection.'
184
- ),
185
- ] = None
186
- tagline: Annotated[str | None, Field(description='Brand tagline or slogan')] = None
187
- target_audience: Annotated[
188
- str | None, Field(description='Primary target audience description')
189
- ] = None
190
- tone: Annotated[
191
- str | None,
192
- Field(
193
- description="Brand voice and messaging tone (e.g., 'professional', 'casual', 'humorous', 'trustworthy', 'innovative')"
194
- ),
195
- ] = None
196
- url: Annotated[
197
- AnyUrl,
198
- Field(
199
- description='Primary brand URL for context and asset discovery. Creative agents can infer brand information from this URL.'
200
- ),
201
- ]
202
-
203
-
204
- Asset1 = Asset
205
-
206
-
207
- ProductCatalog1 = ProductCatalog
208
-
209
-
210
- class BrandManifest2(AdCPBaseModel):
211
- model_config = ConfigDict(
212
- extra='forbid',
213
- )
214
- assets: Annotated[
215
- list[Asset1] | None,
216
- Field(
217
- description='Brand asset library with explicit assets and tags. Assets are referenced inline with URLs pointing to CDN-hosted files.'
218
- ),
219
- ] = None
220
- colors: Annotated[Colors | None, Field(description='Brand color palette')] = None
221
- contact: Annotated[Contact | None, Field(description='Brand contact information')] = None
222
- disclaimers: Annotated[
223
- list[Disclaimer] | None,
224
- Field(description='Legal disclaimers or required text that must appear in creatives'),
225
- ] = None
226
- fonts: Annotated[Fonts | None, Field(description='Brand typography guidelines')] = None
227
- industry: Annotated[
228
- str | None,
229
- Field(
230
- description="Industry or vertical (e.g., 'retail', 'automotive', 'finance', 'healthcare')"
231
- ),
232
- ] = None
233
- logos: Annotated[
234
- list[Logo] | None,
235
- Field(description='Brand logo assets with semantic tags for different use cases'),
236
- ] = None
237
- metadata: Annotated[Metadata | None, Field(description='Additional brand metadata')] = None
238
179
  name: Annotated[str, Field(description='Brand or business name')]
239
180
  product_catalog: Annotated[
240
- ProductCatalog1 | None,
181
+ ProductCatalog | None,
241
182
  Field(
242
183
  description='Product catalog information for e-commerce advertisers. Enables SKU-level creative generation and product selection.'
243
184
  ),
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: build-creative-request.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: build-creative-response.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: channels.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: cpc-option.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: cpcv-option.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: cpm-auction-option.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: cpm-fixed-option.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: cpp-option.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: cpv-option.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: create-media-buy-request.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T04:34:42+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -10,7 +10,7 @@ from typing import Annotated, Any
10
10
  from adcp.types.base import AdCPBaseModel
11
11
  from pydantic import AnyUrl, AwareDatetime, ConfigDict, Field
12
12
 
13
- from . import brand_manifest_ref as brand_manifest_1
13
+ from . import brand_manifest as brand_manifest_1
14
14
  from . import package_request
15
15
  from .push_notification_config import PushNotificationConfig
16
16
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: create-media-buy-response.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: creative-asset.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: creative-assignment.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: creative-manifest.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: creative-policy.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: creative-status.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: css-asset.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: daast-asset.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: delivery-metrics.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: delivery-type.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: deployment.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: destination.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: error.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: flat-rate-option.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: format.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: format-id.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: frequency-cap.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: frequency-cap-scope.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: get-media-buy-delivery-request.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: get-media-buy-delivery-response.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: get-products-request.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T04:34:42+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -10,7 +10,7 @@ from typing import Annotated, Any
10
10
  from adcp.types.base import AdCPBaseModel
11
11
  from pydantic import AnyUrl, ConfigDict, Field
12
12
 
13
- from . import brand_manifest_ref as brand_manifest_1
13
+ from . import brand_manifest as brand_manifest_1
14
14
  from . import delivery_type as delivery_type_1
15
15
  from . import format_id
16
16
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: get-products-response.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: get-signals-request.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: get-signals-response.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: html-asset.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: identifier-types.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: image-asset.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: javascript-asset.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: list-authorized-properties-request.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: list-authorized-properties-response.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: list-creative-formats-request.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: list-creative-formats-response.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: list-creatives-request.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T12:11:55+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: list-creatives-response.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T04:34:42+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -8,7 +8,7 @@ from enum import Enum
8
8
  from typing import Annotated, Any
9
9
 
10
10
  from adcp.types.base import AdCPBaseModel
11
- from pydantic import AnyUrl, AwareDatetime, ConfigDict, Field
11
+ from pydantic import AwareDatetime, ConfigDict, Field
12
12
 
13
13
  from . import audio_asset, creative_status, css_asset, daast_asset
14
14
  from . import format_id as format_id_1
@@ -162,26 +162,14 @@ class Creative(AdCPBaseModel):
162
162
  Assignments | None,
163
163
  Field(description='Current package assignments (included when include_assignments=true)'),
164
164
  ] = None
165
- click_url: Annotated[AnyUrl | None, Field(description='Landing page URL for the creative')] = (
166
- None
167
- )
168
165
  created_date: Annotated[
169
166
  AwareDatetime, Field(description='When the creative was uploaded to the library')
170
167
  ]
171
168
  creative_id: Annotated[str, Field(description='Unique identifier for the creative')]
172
- duration: Annotated[
173
- float | None, Field(description='Duration in milliseconds (for video/audio)', ge=0.0)
174
- ] = None
175
169
  format_id: Annotated[
176
170
  format_id_1.FormatId,
177
171
  Field(description='Format identifier specifying which format this creative conforms to'),
178
172
  ]
179
- height: Annotated[
180
- float | None, Field(description='Height in pixels (for video/display)', ge=0.0)
181
- ] = None
182
- media_url: Annotated[
183
- AnyUrl | None, Field(description='URL of the creative file (for hosted assets)')
184
- ] = None
185
173
  name: Annotated[str, Field(description='Human-readable creative name')]
186
174
  performance: Annotated[
187
175
  Performance | None,
@@ -202,9 +190,6 @@ class Creative(AdCPBaseModel):
202
190
  list[str] | None, Field(description='User-defined tags for organization and searchability')
203
191
  ] = None
204
192
  updated_date: Annotated[AwareDatetime, Field(description='When the creative was last modified')]
205
- width: Annotated[
206
- float | None, Field(description='Width in pixels (for video/display)', ge=0.0)
207
- ] = None
208
193
 
209
194
 
210
195
  class ListCreativesResponse(AdCPBaseModel):
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: markdown-asset.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: measurement.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: media-buy.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: media-buy-status.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: pacing.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: package.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: package-request.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: package-status.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: performance-feedback.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: placement.json
3
- # timestamp: 2025-11-18T03:04:10+00:00
3
+ # timestamp: 2025-11-18T03:35:10+00:00
4
4
 
5
5
  from __future__ import annotations
6
6