@adcp/client API Reference - v3.11.2
    Preparing search index...

    Interface Format

    Represents a creative format with its requirements

    interface Format {
        format_id: FormatID;
        name: string;
        description?: string;
        example_url?: string;
        type: FormatCategory;
        accepts_parameters?: FormatIDParameter[];
        renders?: [
            { [k: string]: unknown }
            | { parameters_from_format_id: true },
            ...({ [k: string]: unknown } | { parameters_from_format_id: true })[],
        ];
        assets?: (
            | {
                item_type: "individual";
                asset_id: string;
                asset_type: AssetContentType;
                asset_role?: string;
                required: boolean;
                requirements?: { [k: string]: unknown };
            }
            | {
                item_type: "repeatable_group";
                asset_group_id: string;
                required: boolean;
                min_count: number;
                max_count: number;
                assets: {
                    asset_id: string;
                    asset_type: AssetContentType1;
                    asset_role?: string;
                    required: boolean;
                    requirements?: { [k: string]: unknown };
                }[];
            }
        )[];
        delivery?: { [k: string]: unknown };
        supported_macros?: string[];
        output_format_ids?: FormatID1[];
        format_card?: {
            format_id: FormatID2;
            manifest: { [k: string]: unknown };
            [k: string]: unknown;
        };
        format_card_detailed?: {
            format_id: FormatID3;
            manifest: { [k: string]: unknown };
            [k: string]: unknown;
        };
        [k: string]: unknown;
    }

    Hierarchy (View Summary)

    Indexable

    • [k: string]: unknown
    Index

    Properties

    format_id: FormatID
    name: string

    Human-readable format name

    description?: string

    Plain text explanation of what this format does and what assets it requires

    example_url?: string

    Optional URL to showcase page with examples and interactive demos of this format

    type: FormatCategory
    accepts_parameters?: FormatIDParameter[]

    List of parameters this format accepts in format_id. Template formats define which parameters (dimensions, duration, etc.) can be specified when instantiating the format. Empty or omitted means this is a concrete format with fixed parameters.

    renders?: [
        { [k: string]: unknown }
        | { parameters_from_format_id: true },
        ...({ [k: string]: unknown } | { parameters_from_format_id: true })[],
    ]

    Specification of rendered pieces for this format. Most formats produce a single render. Companion ad formats (video + banner), adaptive formats, and multi-placement formats produce multiple renders. Each render specifies its role and dimensions.

    1

    assets?: (
        | {
            item_type: "individual";
            asset_id: string;
            asset_type: AssetContentType;
            asset_role?: string;
            required: boolean;
            requirements?: { [k: string]: unknown };
        }
        | {
            item_type: "repeatable_group";
            asset_group_id: string;
            required: boolean;
            min_count: number;
            max_count: number;
            assets: {
                asset_id: string;
                asset_type: AssetContentType1;
                asset_role?: string;
                required: boolean;
                requirements?: { [k: string]: unknown };
            }[];
        }
    )[]

    Array of all assets supported for this format. Each asset is identified by its asset_id, which must be used as the key in creative manifests. Use the 'required' boolean on each asset to indicate whether it's mandatory.

    Type Declaration

    • {
          item_type: "individual";
          asset_id: string;
          asset_type: AssetContentType;
          asset_role?: string;
          required: boolean;
          requirements?: { [k: string]: unknown };
      }
      • item_type: "individual"

        Discriminator indicating this is an individual asset

      • asset_id: string

        Unique identifier for this asset. Creative manifests MUST use this exact value as the key in the assets object.

      • asset_type: AssetContentType
      • Optionalasset_role?: string

        Optional descriptive label for this asset's purpose (e.g., 'hero_image', 'logo', 'third_party_tracking'). Not used for referencing assets in manifests—use asset_id instead. This field is for human-readable documentation and UI display only.

      • required: boolean

        Whether this asset is required (true) or optional (false). Required assets must be provided for a valid creative. Optional assets enhance the creative but are not mandatory.

      • Optionalrequirements?: { [k: string]: unknown }

        Technical requirements for this asset (dimensions, file size, duration, etc.). For template formats, use parameters_from_format_id: true to indicate asset parameters must match the format_id parameters (width/height/unit and/or duration_ms).

    • {
          item_type: "repeatable_group";
          asset_group_id: string;
          required: boolean;
          min_count: number;
          max_count: number;
          assets: {
              asset_id: string;
              asset_type: AssetContentType1;
              asset_role?: string;
              required: boolean;
              requirements?: { [k: string]: unknown };
          }[];
      }
      • item_type: "repeatable_group"

        Discriminator indicating this is a repeatable asset group

      • asset_group_id: string

        Identifier for this asset group (e.g., 'product', 'slide', 'card')

      • required: boolean

        Whether this asset group is required. If true, at least min_count repetitions must be provided.

      • min_count: number

        Minimum number of repetitions required (if group is required) or allowed (if optional)

      • max_count: number

        Maximum number of repetitions allowed

      • assets: {
            asset_id: string;
            asset_type: AssetContentType1;
            asset_role?: string;
            required: boolean;
            requirements?: { [k: string]: unknown };
        }[]

        Assets within each repetition of this group

    delivery?: { [k: string]: unknown }

    Delivery method specifications (e.g., hosted, VAST, third-party tags)

    supported_macros?: string[]

    List of universal macros supported by this format (e.g., MEDIA_BUY_ID, CACHEBUSTER, DEVICE_ID). Used for validation and developer tooling.

    output_format_ids?: FormatID1[]

    For generative formats: array of format IDs that this format can generate. When a format accepts inputs like brand_manifest and message, this specifies what concrete output formats can be produced (e.g., a generative banner format might output standard image banner formats).

    format_card?: {
        format_id: FormatID2;
        manifest: { [k: string]: unknown };
        [k: string]: unknown;
    }

    Optional standard visual card (300x400px) for displaying this format in user interfaces. Can be rendered via preview_creative or pre-generated.

    Type Declaration

    • [k: string]: unknown
    • format_id: FormatID2
    • manifest: { [k: string]: unknown }

      Asset manifest for rendering the card, structure defined by the format

    format_card_detailed?: {
        format_id: FormatID3;
        manifest: { [k: string]: unknown };
        [k: string]: unknown;
    }

    Optional detailed card with carousel and full specifications. Provides rich format documentation similar to ad spec pages.

    Type Declaration

    • [k: string]: unknown
    • format_id: FormatID3
    • manifest: { [k: string]: unknown }

      Asset manifest for rendering the detailed card, structure defined by the format