@adcp/sdk 8.1.0-beta.1 → 8.1.0-beta.2

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.
@@ -4,5 +4,5 @@
4
4
  "source_sha": "4e553ad955f83b49c7d221ab5c3ff78237ad02e3",
5
5
  "source_tarball_sha256": "580656d6466ef9f0d1119985e6726c2efea718dc671e2ad30957fcb2fd54af0f",
6
6
  "upstream_adcp_version": "2.5.3",
7
- "synced_at": "2026-05-22T18:24:39.265Z"
7
+ "synced_at": "2026-05-22T18:41:55.739Z"
8
8
  }
@@ -1691,133 +1691,7 @@ export type CreativeAsset = {
1691
1691
  */
1692
1692
  industry_identifiers?: IndustryIdentifier[];
1693
1693
  provenance?: Provenance;
1694
- } & ({
1695
- /**
1696
- * Unique identifier for the creative. Stable across v1 and v2 paths — a creative registered against v1 `format_id` retains the same `creative_id` when later viewed via v2 flatten.
1697
- */
1698
- creative_id: string;
1699
- /**
1700
- * Human-readable creative name
1701
- */
1702
- name: string;
1703
- format_id: FormatReferenceStructuredObject;
1704
- /**
1705
- * v2 path, optional. Stable identifier matching one of the seller's product `format_options[i].capability_id` values. REQUIRED only when the target product has multiple `format_options` entries sharing the same `format_kind`.
1706
- */
1707
- capability_id?: string;
1708
- /**
1709
- * Assets required by the format, keyed by asset_id. Each slot value is either a single asset object or an array of asset objects (for slots with `min`/`max > 1` like carousel `cards` or responsive_creative `headlines`). Each asset value carries an `asset_type` discriminator that selects the matching asset schema.
1710
- */
1711
- assets: {
1712
- /**
1713
- * This interface was referenced by `undefined`'s JSON-Schema definition
1714
- * via the `patternProperty` "^[a-z0-9_]+$".
1715
- */
1716
- [k: string]: AssetVariant | AssetVariant[];
1717
- };
1718
- /**
1719
- * Preview contexts for generative formats - defines what scenarios to generate previews for
1720
- */
1721
- inputs?: {
1722
- /**
1723
- * Human-readable name for this preview variant
1724
- */
1725
- name: string;
1726
- /**
1727
- * Macro values to apply for this preview
1728
- */
1729
- macros?: {
1730
- [k: string]: string | undefined;
1731
- };
1732
- /**
1733
- * Natural language description of the context for AI-generated content
1734
- */
1735
- context_description?: string;
1736
- }[];
1737
- /**
1738
- * User-defined tags for organization and searchability
1739
- */
1740
- tags?: string[];
1741
- status?: CreativeStatus;
1742
- /**
1743
- * Optional delivery weight for creative rotation when uploading via create_media_buy or update_media_buy (0-100). If omitted, platform determines rotation. Only used during upload to media buy - not stored in creative library.
1744
- * @minimum 0
1745
- * @maximum 100
1746
- */
1747
- weight?: number;
1748
- /**
1749
- * Optional array of placement IDs where this creative should run when uploading via create_media_buy or update_media_buy. References placement_id values from the product's placements array. If omitted, creative runs on all placements. Only used during upload to media buy - not stored in creative library.
1750
- */
1751
- placement_ids?: string[];
1752
- /**
1753
- * Industry-standard identifiers for this creative (e.g., Ad-ID, ISCI, Clearcast clock number). In broadcast buying, these identifiers tie the creative to rotation instructions and traffic systems. A creative may have multiple identifiers when different systems reference the same asset.
1754
- */
1755
- industry_identifiers?: IndustryIdentifier[];
1756
- provenance?: Provenance;
1757
- } | {
1758
- /**
1759
- * Unique identifier for the creative. Stable across v1 and v2 paths — a creative registered against v1 `format_id` retains the same `creative_id` when later viewed via v2 flatten.
1760
- */
1761
- creative_id: string;
1762
- /**
1763
- * Human-readable creative name
1764
- */
1765
- name: string;
1766
- format_kind: CanonicalFormatKind;
1767
- /**
1768
- * v2 path, optional. Stable identifier matching one of the seller's product `format_options[i].capability_id` values. REQUIRED only when the target product has multiple `format_options` entries sharing the same `format_kind`.
1769
- */
1770
- capability_id?: string;
1771
- /**
1772
- * Assets required by the format, keyed by asset_id. Each slot value is either a single asset object or an array of asset objects (for slots with `min`/`max > 1` like carousel `cards` or responsive_creative `headlines`). Each asset value carries an `asset_type` discriminator that selects the matching asset schema.
1773
- */
1774
- assets: {
1775
- /**
1776
- * This interface was referenced by `undefined`'s JSON-Schema definition
1777
- * via the `patternProperty` "^[a-z0-9_]+$".
1778
- */
1779
- [k: string]: AssetVariant | AssetVariant[];
1780
- };
1781
- /**
1782
- * Preview contexts for generative formats - defines what scenarios to generate previews for
1783
- */
1784
- inputs?: {
1785
- /**
1786
- * Human-readable name for this preview variant
1787
- */
1788
- name: string;
1789
- /**
1790
- * Macro values to apply for this preview
1791
- */
1792
- macros?: {
1793
- [k: string]: string | undefined;
1794
- };
1795
- /**
1796
- * Natural language description of the context for AI-generated content
1797
- */
1798
- context_description?: string;
1799
- }[];
1800
- /**
1801
- * User-defined tags for organization and searchability
1802
- */
1803
- tags?: string[];
1804
- status?: CreativeStatus;
1805
- /**
1806
- * Optional delivery weight for creative rotation when uploading via create_media_buy or update_media_buy (0-100). If omitted, platform determines rotation. Only used during upload to media buy - not stored in creative library.
1807
- * @minimum 0
1808
- * @maximum 100
1809
- */
1810
- weight?: number;
1811
- /**
1812
- * Optional array of placement IDs where this creative should run when uploading via create_media_buy or update_media_buy. References placement_id values from the product's placements array. If omitted, creative runs on all placements. Only used during upload to media buy - not stored in creative library.
1813
- */
1814
- placement_ids?: string[];
1815
- /**
1816
- * Industry-standard identifiers for this creative (e.g., Ad-ID, ISCI, Clearcast clock number). In broadcast buying, these identifiers tie the creative to rotation instructions and traffic systems. A creative may have multiple identifiers when different systems reference the same asset.
1817
- */
1818
- industry_identifiers?: IndustryIdentifier[];
1819
- provenance?: Provenance;
1820
- });
1694
+ } & (V1CreativeNamedFormatReference | V2CreativeCanonicalFormatKind);
1821
1695
  /**
1822
1696
  * v2 path. The canonical format name this creative targets (e.g., `image`, `video_hosted`). Mutually exclusive with `format_id`.
1823
1697
  */
@@ -2649,6 +2523,140 @@ export interface IndustryIdentifier {
2649
2523
  */
2650
2524
  value: string;
2651
2525
  }
2526
+ /**
2527
+ * Creative references a named format via the structured `format_id` object. The v1 path; remains supported through 4.x.
2528
+ */
2529
+ export interface V1CreativeNamedFormatReference {
2530
+ /**
2531
+ * Unique identifier for the creative. Stable across v1 and v2 paths — a creative registered against v1 `format_id` retains the same `creative_id` when later viewed via v2 flatten.
2532
+ */
2533
+ creative_id: string;
2534
+ /**
2535
+ * Human-readable creative name
2536
+ */
2537
+ name: string;
2538
+ format_id: FormatReferenceStructuredObject;
2539
+ /**
2540
+ * v2 path, optional. Stable identifier matching one of the seller's product `format_options[i].capability_id` values. REQUIRED only when the target product has multiple `format_options` entries sharing the same `format_kind`.
2541
+ */
2542
+ capability_id?: string;
2543
+ /**
2544
+ * Assets required by the format, keyed by asset_id. Each slot value is either a single asset object or an array of asset objects (for slots with `min`/`max > 1` like carousel `cards` or responsive_creative `headlines`). Each asset value carries an `asset_type` discriminator that selects the matching asset schema.
2545
+ */
2546
+ assets: {
2547
+ /**
2548
+ * This interface was referenced by `undefined`'s JSON-Schema definition
2549
+ * via the `patternProperty` "^[a-z0-9_]+$".
2550
+ */
2551
+ [k: string]: AssetVariant | AssetVariant[];
2552
+ };
2553
+ /**
2554
+ * Preview contexts for generative formats - defines what scenarios to generate previews for
2555
+ */
2556
+ inputs?: {
2557
+ /**
2558
+ * Human-readable name for this preview variant
2559
+ */
2560
+ name: string;
2561
+ /**
2562
+ * Macro values to apply for this preview
2563
+ */
2564
+ macros?: {
2565
+ [k: string]: string | undefined;
2566
+ };
2567
+ /**
2568
+ * Natural language description of the context for AI-generated content
2569
+ */
2570
+ context_description?: string;
2571
+ }[];
2572
+ /**
2573
+ * User-defined tags for organization and searchability
2574
+ */
2575
+ tags?: string[];
2576
+ status?: CreativeStatus;
2577
+ /**
2578
+ * Optional delivery weight for creative rotation when uploading via create_media_buy or update_media_buy (0-100). If omitted, platform determines rotation. Only used during upload to media buy - not stored in creative library.
2579
+ * @minimum 0
2580
+ * @maximum 100
2581
+ */
2582
+ weight?: number;
2583
+ /**
2584
+ * Optional array of placement IDs where this creative should run when uploading via create_media_buy or update_media_buy. References placement_id values from the product's placements array. If omitted, creative runs on all placements. Only used during upload to media buy - not stored in creative library.
2585
+ */
2586
+ placement_ids?: string[];
2587
+ /**
2588
+ * Industry-standard identifiers for this creative (e.g., Ad-ID, ISCI, Clearcast clock number). In broadcast buying, these identifiers tie the creative to rotation instructions and traffic systems. A creative may have multiple identifiers when different systems reference the same asset.
2589
+ */
2590
+ industry_identifiers?: IndustryIdentifier[];
2591
+ provenance?: Provenance;
2592
+ }
2593
+ /**
2594
+ * Creative declares which canonical format it targets via `format_kind` (e.g., `image`). The v2 path introduced by RFC #3305.
2595
+ */
2596
+ export interface V2CreativeCanonicalFormatKind {
2597
+ /**
2598
+ * Unique identifier for the creative. Stable across v1 and v2 paths — a creative registered against v1 `format_id` retains the same `creative_id` when later viewed via v2 flatten.
2599
+ */
2600
+ creative_id: string;
2601
+ /**
2602
+ * Human-readable creative name
2603
+ */
2604
+ name: string;
2605
+ format_kind: CanonicalFormatKind;
2606
+ /**
2607
+ * v2 path, optional. Stable identifier matching one of the seller's product `format_options[i].capability_id` values. REQUIRED only when the target product has multiple `format_options` entries sharing the same `format_kind`.
2608
+ */
2609
+ capability_id?: string;
2610
+ /**
2611
+ * Assets required by the format, keyed by asset_id. Each slot value is either a single asset object or an array of asset objects (for slots with `min`/`max > 1` like carousel `cards` or responsive_creative `headlines`). Each asset value carries an `asset_type` discriminator that selects the matching asset schema.
2612
+ */
2613
+ assets: {
2614
+ /**
2615
+ * This interface was referenced by `undefined`'s JSON-Schema definition
2616
+ * via the `patternProperty` "^[a-z0-9_]+$".
2617
+ */
2618
+ [k: string]: AssetVariant | AssetVariant[];
2619
+ };
2620
+ /**
2621
+ * Preview contexts for generative formats - defines what scenarios to generate previews for
2622
+ */
2623
+ inputs?: {
2624
+ /**
2625
+ * Human-readable name for this preview variant
2626
+ */
2627
+ name: string;
2628
+ /**
2629
+ * Macro values to apply for this preview
2630
+ */
2631
+ macros?: {
2632
+ [k: string]: string | undefined;
2633
+ };
2634
+ /**
2635
+ * Natural language description of the context for AI-generated content
2636
+ */
2637
+ context_description?: string;
2638
+ }[];
2639
+ /**
2640
+ * User-defined tags for organization and searchability
2641
+ */
2642
+ tags?: string[];
2643
+ status?: CreativeStatus;
2644
+ /**
2645
+ * Optional delivery weight for creative rotation when uploading via create_media_buy or update_media_buy (0-100). If omitted, platform determines rotation. Only used during upload to media buy - not stored in creative library.
2646
+ * @minimum 0
2647
+ * @maximum 100
2648
+ */
2649
+ weight?: number;
2650
+ /**
2651
+ * Optional array of placement IDs where this creative should run when uploading via create_media_buy or update_media_buy. References placement_id values from the product's placements array. If omitted, creative runs on all placements. Only used during upload to media buy - not stored in creative library.
2652
+ */
2653
+ placement_ids?: string[];
2654
+ /**
2655
+ * Industry-standard identifiers for this creative (e.g., Ad-ID, ISCI, Clearcast clock number). In broadcast buying, these identifiers tie the creative to rotation instructions and traffic systems. A creative may have multiple identifiers when different systems reference the same asset.
2656
+ */
2657
+ industry_identifiers?: IndustryIdentifier[];
2658
+ provenance?: Provenance;
2659
+ }
2652
2660
  /**
2653
2661
  * Represents available advertising inventory
2654
2662
  */
@@ -6220,65 +6228,7 @@ export type CreativeManifest = {
6220
6228
  industry_identifiers?: IndustryIdentifier[];
6221
6229
  provenance?: Provenance;
6222
6230
  ext?: ExtensionObject;
6223
- } & ({
6224
- format_id: FormatReferenceStructuredObject;
6225
- /**
6226
- * v2 path, optional. Stable identifier matching one of the seller's product `format_options[i].capability_id` values. REQUIRED when the target product carries multiple `format_options` entries sharing the same `format_kind` (the buyer must disambiguate which option this manifest matches). When the product's `format_options` has a single entry — or multiple entries with distinct `format_kind` values — `capability_id` is OPTIONAL because `format_kind` alone routes the manifest to the right declaration.
6227
- */
6228
- capability_id?: string;
6229
- /**
6230
- * Map of slot keys to actual asset content. v1 path: each key matches an `asset_id` from the format's `assets` array (e.g., 'banner_image', 'clickthrough_url', 'video_file', 'vast_tag'). v2 path: each key matches an `asset_group_id` from the format's `slots` declaration drawn from the canonical vocabulary registry (e.g., 'images_landscape', 'video', 'landing_page_url', 'vast_tag', 'script', 'creative_brief'). Either path produces the same envelope shape; only the slot-key vocabulary differs.
6231
- *
6232
- * Each slot value is **either** a single asset object (most slots — image, video, vast_tag, landing_page_url, etc.) **or** an array of asset objects (slots with `min`/`max` counts on the format declaration — `cards` on `image_carousel`, `headlines` / `descriptions` / `images_landscape` on `responsive_creative`, etc.). Single-vs-array shape is governed by the format's `slots[].min` and `slots[].max` parameters: when `max > 1` (or when the slot is conceptually a pool), the value MUST be an array; when the slot is single-valued, the value MUST be a single object. Each asset value (single or array element) carries an `asset_type` discriminator (image, video, audio, vast, daast, text, markdown, url, html, css, webhook, javascript, brief, catalog, zip, card) that selects the matching asset schema. Validators with OpenAPI-style discriminator support use `asset_type` to report errors against only the selected branch instead of all branches.
6233
- */
6234
- assets: {
6235
- /**
6236
- * This interface was referenced by `undefined`'s JSON-Schema definition
6237
- * via the `patternProperty` "^[a-z0-9_]+$".
6238
- */
6239
- [k: string]: AssetVariant | AssetVariant[];
6240
- };
6241
- brand?: BrandReference;
6242
- /**
6243
- * Rights constraints attached to this creative. Each entry represents constraints from a single rights holder. A creative may combine multiple rights constraints (e.g., talent likeness + music license). For v1, rights constraints are informational metadata — the buyer/orchestrator manages creative lifecycle against these terms.
6244
- */
6245
- rights?: RightsConstraint[];
6246
- /**
6247
- * Industry-standard identifiers for this specific manifest (e.g., Ad-ID, ISCI, Clearcast clock number). When present, overrides creative-level identifiers. Use when different format versions of the same source creative have distinct Ad-IDs (e.g., the :15 and :30 cuts).
6248
- */
6249
- industry_identifiers?: IndustryIdentifier[];
6250
- provenance?: Provenance;
6251
- ext?: ExtensionObject;
6252
- } | {
6253
- format_kind: CanonicalFormatKind;
6254
- /**
6255
- * v2 path, optional. Stable identifier matching one of the seller's product `format_options[i].capability_id` values. REQUIRED when the target product carries multiple `format_options` entries sharing the same `format_kind` (the buyer must disambiguate which option this manifest matches). When the product's `format_options` has a single entry — or multiple entries with distinct `format_kind` values — `capability_id` is OPTIONAL because `format_kind` alone routes the manifest to the right declaration.
6256
- */
6257
- capability_id?: string;
6258
- /**
6259
- * Map of slot keys to actual asset content. v1 path: each key matches an `asset_id` from the format's `assets` array (e.g., 'banner_image', 'clickthrough_url', 'video_file', 'vast_tag'). v2 path: each key matches an `asset_group_id` from the format's `slots` declaration drawn from the canonical vocabulary registry (e.g., 'images_landscape', 'video', 'landing_page_url', 'vast_tag', 'script', 'creative_brief'). Either path produces the same envelope shape; only the slot-key vocabulary differs.
6260
- *
6261
- * Each slot value is **either** a single asset object (most slots — image, video, vast_tag, landing_page_url, etc.) **or** an array of asset objects (slots with `min`/`max` counts on the format declaration — `cards` on `image_carousel`, `headlines` / `descriptions` / `images_landscape` on `responsive_creative`, etc.). Single-vs-array shape is governed by the format's `slots[].min` and `slots[].max` parameters: when `max > 1` (or when the slot is conceptually a pool), the value MUST be an array; when the slot is single-valued, the value MUST be a single object. Each asset value (single or array element) carries an `asset_type` discriminator (image, video, audio, vast, daast, text, markdown, url, html, css, webhook, javascript, brief, catalog, zip, card) that selects the matching asset schema. Validators with OpenAPI-style discriminator support use `asset_type` to report errors against only the selected branch instead of all branches.
6262
- */
6263
- assets: {
6264
- /**
6265
- * This interface was referenced by `undefined`'s JSON-Schema definition
6266
- * via the `patternProperty` "^[a-z0-9_]+$".
6267
- */
6268
- [k: string]: AssetVariant | AssetVariant[];
6269
- };
6270
- brand?: BrandReference;
6271
- /**
6272
- * Rights constraints attached to this creative. Each entry represents constraints from a single rights holder. A creative may combine multiple rights constraints (e.g., talent likeness + music license). For v1, rights constraints are informational metadata — the buyer/orchestrator manages creative lifecycle against these terms.
6273
- */
6274
- rights?: RightsConstraint[];
6275
- /**
6276
- * Industry-standard identifiers for this specific manifest (e.g., Ad-ID, ISCI, Clearcast clock number). When present, overrides creative-level identifiers. Use when different format versions of the same source creative have distinct Ad-IDs (e.g., the :15 and :30 cuts).
6277
- */
6278
- industry_identifiers?: IndustryIdentifier[];
6279
- provenance?: Provenance;
6280
- ext?: ExtensionObject;
6281
- });
6231
+ } & (V1ManifestNamedFormatReference | V2ManifestCanonicalFormatKind);
6282
6232
  /**
6283
6233
  * Types of rights usage that can be licensed through the brand protocol. Aligned with DDEX UseType direction for interoperability with music and media rights systems.
6284
6234
  */
@@ -7745,6 +7695,72 @@ export interface RightsConstraint {
7745
7695
  verification_url?: string;
7746
7696
  ext?: ExtensionObject;
7747
7697
  }
7698
+ /**
7699
+ * Manifest references a named format via the structured `format_id` object. The v1 path; remains supported through 4.x.
7700
+ */
7701
+ export interface V1ManifestNamedFormatReference {
7702
+ format_id: FormatReferenceStructuredObject;
7703
+ /**
7704
+ * v2 path, optional. Stable identifier matching one of the seller's product `format_options[i].capability_id` values. REQUIRED when the target product carries multiple `format_options` entries sharing the same `format_kind` (the buyer must disambiguate which option this manifest matches). When the product's `format_options` has a single entry — or multiple entries with distinct `format_kind` values — `capability_id` is OPTIONAL because `format_kind` alone routes the manifest to the right declaration.
7705
+ */
7706
+ capability_id?: string;
7707
+ /**
7708
+ * Map of slot keys to actual asset content. v1 path: each key matches an `asset_id` from the format's `assets` array (e.g., 'banner_image', 'clickthrough_url', 'video_file', 'vast_tag'). v2 path: each key matches an `asset_group_id` from the format's `slots` declaration drawn from the canonical vocabulary registry (e.g., 'images_landscape', 'video', 'landing_page_url', 'vast_tag', 'script', 'creative_brief'). Either path produces the same envelope shape; only the slot-key vocabulary differs.
7709
+ *
7710
+ * Each slot value is **either** a single asset object (most slots — image, video, vast_tag, landing_page_url, etc.) **or** an array of asset objects (slots with `min`/`max` counts on the format declaration — `cards` on `image_carousel`, `headlines` / `descriptions` / `images_landscape` on `responsive_creative`, etc.). Single-vs-array shape is governed by the format's `slots[].min` and `slots[].max` parameters: when `max > 1` (or when the slot is conceptually a pool), the value MUST be an array; when the slot is single-valued, the value MUST be a single object. Each asset value (single or array element) carries an `asset_type` discriminator (image, video, audio, vast, daast, text, markdown, url, html, css, webhook, javascript, brief, catalog, zip, card) that selects the matching asset schema. Validators with OpenAPI-style discriminator support use `asset_type` to report errors against only the selected branch instead of all branches.
7711
+ */
7712
+ assets: {
7713
+ /**
7714
+ * This interface was referenced by `undefined`'s JSON-Schema definition
7715
+ * via the `patternProperty` "^[a-z0-9_]+$".
7716
+ */
7717
+ [k: string]: AssetVariant | AssetVariant[];
7718
+ };
7719
+ brand?: BrandReference;
7720
+ /**
7721
+ * Rights constraints attached to this creative. Each entry represents constraints from a single rights holder. A creative may combine multiple rights constraints (e.g., talent likeness + music license). For v1, rights constraints are informational metadata — the buyer/orchestrator manages creative lifecycle against these terms.
7722
+ */
7723
+ rights?: RightsConstraint[];
7724
+ /**
7725
+ * Industry-standard identifiers for this specific manifest (e.g., Ad-ID, ISCI, Clearcast clock number). When present, overrides creative-level identifiers. Use when different format versions of the same source creative have distinct Ad-IDs (e.g., the :15 and :30 cuts).
7726
+ */
7727
+ industry_identifiers?: IndustryIdentifier[];
7728
+ provenance?: Provenance;
7729
+ ext?: ExtensionObject;
7730
+ }
7731
+ /**
7732
+ * Manifest declares which canonical format it targets via `format_kind` (e.g., `image`). The v2 path introduced by RFC #3305.
7733
+ */
7734
+ export interface V2ManifestCanonicalFormatKind {
7735
+ format_kind: CanonicalFormatKind;
7736
+ /**
7737
+ * v2 path, optional. Stable identifier matching one of the seller's product `format_options[i].capability_id` values. REQUIRED when the target product carries multiple `format_options` entries sharing the same `format_kind` (the buyer must disambiguate which option this manifest matches). When the product's `format_options` has a single entry — or multiple entries with distinct `format_kind` values — `capability_id` is OPTIONAL because `format_kind` alone routes the manifest to the right declaration.
7738
+ */
7739
+ capability_id?: string;
7740
+ /**
7741
+ * Map of slot keys to actual asset content. v1 path: each key matches an `asset_id` from the format's `assets` array (e.g., 'banner_image', 'clickthrough_url', 'video_file', 'vast_tag'). v2 path: each key matches an `asset_group_id` from the format's `slots` declaration drawn from the canonical vocabulary registry (e.g., 'images_landscape', 'video', 'landing_page_url', 'vast_tag', 'script', 'creative_brief'). Either path produces the same envelope shape; only the slot-key vocabulary differs.
7742
+ *
7743
+ * Each slot value is **either** a single asset object (most slots — image, video, vast_tag, landing_page_url, etc.) **or** an array of asset objects (slots with `min`/`max` counts on the format declaration — `cards` on `image_carousel`, `headlines` / `descriptions` / `images_landscape` on `responsive_creative`, etc.). Single-vs-array shape is governed by the format's `slots[].min` and `slots[].max` parameters: when `max > 1` (or when the slot is conceptually a pool), the value MUST be an array; when the slot is single-valued, the value MUST be a single object. Each asset value (single or array element) carries an `asset_type` discriminator (image, video, audio, vast, daast, text, markdown, url, html, css, webhook, javascript, brief, catalog, zip, card) that selects the matching asset schema. Validators with OpenAPI-style discriminator support use `asset_type` to report errors against only the selected branch instead of all branches.
7744
+ */
7745
+ assets: {
7746
+ /**
7747
+ * This interface was referenced by `undefined`'s JSON-Schema definition
7748
+ * via the `patternProperty` "^[a-z0-9_]+$".
7749
+ */
7750
+ [k: string]: AssetVariant | AssetVariant[];
7751
+ };
7752
+ brand?: BrandReference;
7753
+ /**
7754
+ * Rights constraints attached to this creative. Each entry represents constraints from a single rights holder. A creative may combine multiple rights constraints (e.g., talent likeness + music license). For v1, rights constraints are informational metadata — the buyer/orchestrator manages creative lifecycle against these terms.
7755
+ */
7756
+ rights?: RightsConstraint[];
7757
+ /**
7758
+ * Industry-standard identifiers for this specific manifest (e.g., Ad-ID, ISCI, Clearcast clock number). When present, overrides creative-level identifiers. Use when different format versions of the same source creative have distinct Ad-IDs (e.g., the :15 and :30 cuts).
7759
+ */
7760
+ industry_identifiers?: IndustryIdentifier[];
7761
+ provenance?: Provenance;
7762
+ ext?: ExtensionObject;
7763
+ }
7748
7764
  /**
7749
7765
  * Structured consumption details for this build. Informational — lets the buyer verify that vendor_cost is consistent with the rate card. vendor_cost is the billing source of truth.
7750
7766
  */
@@ -12096,6 +12112,72 @@ export interface CreativeBrief {
12096
12112
  prohibited_claims?: string[];
12097
12113
  };
12098
12114
  }
12115
+ /**
12116
+ * Manifest references a named format via the structured `format_id` object. The v1 path; remains supported through 4.x.
12117
+ */
12118
+ export interface V1ManifestNamedFormatReference1 {
12119
+ format_id: FormatReferenceStructuredObject;
12120
+ /**
12121
+ * v2 path, optional. Stable identifier matching one of the seller's product `format_options[i].capability_id` values. REQUIRED when the target product carries multiple `format_options` entries sharing the same `format_kind` (the buyer must disambiguate which option this manifest matches). When the product's `format_options` has a single entry — or multiple entries with distinct `format_kind` values — `capability_id` is OPTIONAL because `format_kind` alone routes the manifest to the right declaration.
12122
+ */
12123
+ capability_id?: string;
12124
+ /**
12125
+ * Map of slot keys to actual asset content. v1 path: each key matches an `asset_id` from the format's `assets` array (e.g., 'banner_image', 'clickthrough_url', 'video_file', 'vast_tag'). v2 path: each key matches an `asset_group_id` from the format's `slots` declaration drawn from the canonical vocabulary registry (e.g., 'images_landscape', 'video', 'landing_page_url', 'vast_tag', 'script', 'creative_brief'). Either path produces the same envelope shape; only the slot-key vocabulary differs.
12126
+ *
12127
+ * Each slot value is **either** a single asset object (most slots — image, video, vast_tag, landing_page_url, etc.) **or** an array of asset objects (slots with `min`/`max` counts on the format declaration — `cards` on `image_carousel`, `headlines` / `descriptions` / `images_landscape` on `responsive_creative`, etc.). Single-vs-array shape is governed by the format's `slots[].min` and `slots[].max` parameters: when `max > 1` (or when the slot is conceptually a pool), the value MUST be an array; when the slot is single-valued, the value MUST be a single object. Each asset value (single or array element) carries an `asset_type` discriminator (image, video, audio, vast, daast, text, markdown, url, html, css, webhook, javascript, brief, catalog, zip, card) that selects the matching asset schema. Validators with OpenAPI-style discriminator support use `asset_type` to report errors against only the selected branch instead of all branches.
12128
+ */
12129
+ assets: {
12130
+ /**
12131
+ * This interface was referenced by `undefined`'s JSON-Schema definition
12132
+ * via the `patternProperty` "^[a-z0-9_]+$".
12133
+ */
12134
+ [k: string]: AssetVariant4 | AssetVariant5[];
12135
+ };
12136
+ brand?: BrandReference;
12137
+ /**
12138
+ * Rights constraints attached to this creative. Each entry represents constraints from a single rights holder. A creative may combine multiple rights constraints (e.g., talent likeness + music license). For v1, rights constraints are informational metadata — the buyer/orchestrator manages creative lifecycle against these terms.
12139
+ */
12140
+ rights?: RightsConstraint[];
12141
+ /**
12142
+ * Industry-standard identifiers for this specific manifest (e.g., Ad-ID, ISCI, Clearcast clock number). When present, overrides creative-level identifiers. Use when different format versions of the same source creative have distinct Ad-IDs (e.g., the :15 and :30 cuts).
12143
+ */
12144
+ industry_identifiers?: IndustryIdentifier[];
12145
+ provenance?: Provenance;
12146
+ ext?: ExtensionObject;
12147
+ }
12148
+ /**
12149
+ * Manifest declares which canonical format it targets via `format_kind` (e.g., `image`). The v2 path introduced by RFC #3305.
12150
+ */
12151
+ export interface V2ManifestCanonicalFormatKind1 {
12152
+ format_kind: CanonicalFormatKind;
12153
+ /**
12154
+ * v2 path, optional. Stable identifier matching one of the seller's product `format_options[i].capability_id` values. REQUIRED when the target product carries multiple `format_options` entries sharing the same `format_kind` (the buyer must disambiguate which option this manifest matches). When the product's `format_options` has a single entry — or multiple entries with distinct `format_kind` values — `capability_id` is OPTIONAL because `format_kind` alone routes the manifest to the right declaration.
12155
+ */
12156
+ capability_id?: string;
12157
+ /**
12158
+ * Map of slot keys to actual asset content. v1 path: each key matches an `asset_id` from the format's `assets` array (e.g., 'banner_image', 'clickthrough_url', 'video_file', 'vast_tag'). v2 path: each key matches an `asset_group_id` from the format's `slots` declaration drawn from the canonical vocabulary registry (e.g., 'images_landscape', 'video', 'landing_page_url', 'vast_tag', 'script', 'creative_brief'). Either path produces the same envelope shape; only the slot-key vocabulary differs.
12159
+ *
12160
+ * Each slot value is **either** a single asset object (most slots — image, video, vast_tag, landing_page_url, etc.) **or** an array of asset objects (slots with `min`/`max` counts on the format declaration — `cards` on `image_carousel`, `headlines` / `descriptions` / `images_landscape` on `responsive_creative`, etc.). Single-vs-array shape is governed by the format's `slots[].min` and `slots[].max` parameters: when `max > 1` (or when the slot is conceptually a pool), the value MUST be an array; when the slot is single-valued, the value MUST be a single object. Each asset value (single or array element) carries an `asset_type` discriminator (image, video, audio, vast, daast, text, markdown, url, html, css, webhook, javascript, brief, catalog, zip, card) that selects the matching asset schema. Validators with OpenAPI-style discriminator support use `asset_type` to report errors against only the selected branch instead of all branches.
12161
+ */
12162
+ assets: {
12163
+ /**
12164
+ * This interface was referenced by `undefined`'s JSON-Schema definition
12165
+ * via the `patternProperty` "^[a-z0-9_]+$".
12166
+ */
12167
+ [k: string]: AssetVariant6 | AssetVariant7[];
12168
+ };
12169
+ brand?: BrandReference;
12170
+ /**
12171
+ * Rights constraints attached to this creative. Each entry represents constraints from a single rights holder. A creative may combine multiple rights constraints (e.g., talent likeness + music license). For v1, rights constraints are informational metadata — the buyer/orchestrator manages creative lifecycle against these terms.
12172
+ */
12173
+ rights?: RightsConstraint[];
12174
+ /**
12175
+ * Industry-standard identifiers for this specific manifest (e.g., Ad-ID, ISCI, Clearcast clock number). When present, overrides creative-level identifiers. Use when different format versions of the same source creative have distinct Ad-IDs (e.g., the :15 and :30 cuts).
12176
+ */
12177
+ industry_identifiers?: IndustryIdentifier[];
12178
+ provenance?: Provenance;
12179
+ ext?: ExtensionObject;
12180
+ }
12099
12181
  /**
12100
12182
  * Progress payload for active build_creative task. Returned during AI generation, format transformation, or complex library retrieval with macro resolution.
12101
12183
  */