Unique identifier for the creative. Stable across legacy named-format and 3.1+ canonical-format paths — a creative registered against format_id retains the same creative_id when later viewed through a canonical-format flatten.
Human-readable creative name
Optionalformat_id?: FormatReferenceStructuredObjectOptionalformat_kind?: CanonicalFormatKindOptionalformat_option_ref?: FormatOptionReferenceAssets required by the format, keyed by asset_id or canonical asset_group_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, including reference assets such as published_post when a product accepts already-published post references.
Optionalinputs?: {Preview contexts for generative formats - defines what scenarios to generate previews for
Optionaltags?: string[]User-defined tags for organization and searchability
Optionalstatus?: CreativeStatusOptionalweight?: numberOptional 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.
Optionalplacement_refs?: PlacementReference[]Optional structured placement references where this uploaded creative should run when uploading via create_media_buy or update_media_buy. New senders SHOULD use this field for placement-level targeting because placement IDs are publisher-scoped. References product placements by { publisher_domain, placement_id }. If omitted, creative runs on all buyer-targetable placements. If both placement_refs and legacy placement_ids are present, placement_refs wins and receivers MUST ignore placement_ids. Only used during upload to media buy - not stored in creative library.
Optionalplacement_ids?: string[]Legacy shorthand array of placement IDs where this creative should run when uploading via create_media_buy or update_media_buy. New senders SHOULD use placement_refs because placement IDs are publisher-scoped and strings are ambiguous in multi-publisher products. If omitted, creative runs on all buyer-targetable placements. If placement_refs is also present, receivers MUST ignore this field. Only used during upload to media buy - not stored in creative library.
Optionalindustry_identifiers?: IndustryIdentifier[]Industry-standard or market-specific identifiers for this creative (e.g., Ad-ID, ISCI, Clearcast clock number, IDcrea). In broadcast and scheduled audio/video buying, these identifiers tie the creative to rotation instructions, clearance records, and traffic systems. A creative may have multiple identifiers when different systems reference the same asset. Add a PR to extend creative-identifier-type when another shared identifier scheme needs first-class support.
Optionalprovenance?: Provenance
Creative asset for upload to library — supports static assets, generative formats, and third-party snippets. Identifies which format this creative conforms to via EITHER a legacy
format_id(structured{agent_url, id}) OR a 3.1+format_kind(canonical format name), with optionalformat_option_refwhen the target product needs disambiguation. Mutually exclusive — see theoneOfat the schema root.