import {z} from 'zod' export type Dimensions = {heightPixels?: number | undefined, widthPixels?: number | undefined}; export type Asset = {content?: string | undefined, mediaId?: unknown | undefined}; export type AssetAssociation = {asset?: Asset | undefined, role?: ('ASSET_ROLE_UNSPECIFIED' | 'ASSET_ROLE_MAIN' | 'ASSET_ROLE_BACKUP' | 'ASSET_ROLE_POLITE_LOAD' | 'ASSET_ROLE_HEADLINE' | 'ASSET_ROLE_LONG_HEADLINE' | 'ASSET_ROLE_BODY' | 'ASSET_ROLE_LONG_BODY' | 'ASSET_ROLE_CAPTION_URL' | 'ASSET_ROLE_CALL_TO_ACTION' | 'ASSET_ROLE_ADVERTISER_NAME' | 'ASSET_ROLE_PRICE' | 'ASSET_ROLE_ANDROID_APP_ID' | 'ASSET_ROLE_IOS_APP_ID' | 'ASSET_ROLE_RATING' | 'ASSET_ROLE_ICON' | 'ASSET_ROLE_COVER_IMAGE' | 'ASSET_ROLE_BACKGROUND_COLOR' | 'ASSET_ROLE_ACCENT_COLOR' | 'ASSET_ROLE_REQUIRE_LOGO' | 'ASSET_ROLE_REQUIRE_IMAGE' | 'ASSET_ROLE_ENABLE_ASSET_ENHANCEMENTS') | undefined}; export type CmTrackingAd = {cmAdId?: unknown | undefined, cmCreativeId?: unknown | undefined, cmPlacementId?: unknown | undefined}; export type CounterEvent = {name?: string | undefined, reportingName?: string | undefined}; export type ExitEvent = {name?: string | undefined, reportingName?: string | undefined, type?: ('EXIT_EVENT_TYPE_UNSPECIFIED' | 'EXIT_EVENT_TYPE_DEFAULT' | 'EXIT_EVENT_TYPE_BACKUP') | undefined, url?: string | undefined}; export type ObaIcon = {clickTrackingUrl?: string | undefined, dimensions?: Dimensions | undefined, landingPageUrl?: string | undefined, position?: ('OBA_ICON_POSITION_UNSPECIFIED' | 'OBA_ICON_POSITION_UPPER_RIGHT' | 'OBA_ICON_POSITION_UPPER_LEFT' | 'OBA_ICON_POSITION_LOWER_RIGHT' | 'OBA_ICON_POSITION_LOWER_LEFT') | undefined, program?: string | undefined, resourceMimeType?: string | undefined, resourceUrl?: string | undefined, viewTrackingUrl?: string | undefined}; export type AudioVideoOffset = {percentage?: unknown | undefined, seconds?: unknown | undefined}; export type ExchangeReviewStatus = {exchange?: ('EXCHANGE_UNSPECIFIED' | 'EXCHANGE_GOOGLE_AD_MANAGER' | 'EXCHANGE_APPNEXUS' | 'EXCHANGE_BRIGHTROLL' | 'EXCHANGE_ADFORM' | 'EXCHANGE_ADMETA' | 'EXCHANGE_ADMIXER' | 'EXCHANGE_ADSMOGO' | 'EXCHANGE_ADSWIZZ' | 'EXCHANGE_BIDSWITCH' | 'EXCHANGE_BRIGHTROLL_DISPLAY' | 'EXCHANGE_CADREON' | 'EXCHANGE_DAILYMOTION' | 'EXCHANGE_FIVE' | 'EXCHANGE_FLUCT' | 'EXCHANGE_FREEWHEEL' | 'EXCHANGE_GENIEE' | 'EXCHANGE_GUMGUM' | 'EXCHANGE_IMOBILE' | 'EXCHANGE_IBILLBOARD' | 'EXCHANGE_IMPROVE_DIGITAL' | 'EXCHANGE_INDEX' | 'EXCHANGE_KARGO' | 'EXCHANGE_MICROAD' | 'EXCHANGE_MOPUB' | 'EXCHANGE_NEND' | 'EXCHANGE_ONE_BY_AOL_DISPLAY' | 'EXCHANGE_ONE_BY_AOL_MOBILE' | 'EXCHANGE_ONE_BY_AOL_VIDEO' | 'EXCHANGE_OOYALA' | 'EXCHANGE_OPENX' | 'EXCHANGE_PERMODO' | 'EXCHANGE_PLATFORMONE' | 'EXCHANGE_PLATFORMID' | 'EXCHANGE_PUBMATIC' | 'EXCHANGE_PULSEPOINT' | 'EXCHANGE_REVENUEMAX' | 'EXCHANGE_RUBICON' | 'EXCHANGE_SMARTCLIP' | 'EXCHANGE_SMARTRTB' | 'EXCHANGE_SMARTSTREAMTV' | 'EXCHANGE_SOVRN' | 'EXCHANGE_SPOTXCHANGE' | 'EXCHANGE_STROER' | 'EXCHANGE_TEADSTV' | 'EXCHANGE_TELARIA' | 'EXCHANGE_TVN' | 'EXCHANGE_UNITED' | 'EXCHANGE_YIELDLAB' | 'EXCHANGE_YIELDMO' | 'EXCHANGE_UNRULYX' | 'EXCHANGE_OPEN8' | 'EXCHANGE_TRITON' | 'EXCHANGE_TRIPLELIFT' | 'EXCHANGE_TABOOLA' | 'EXCHANGE_INMOBI' | 'EXCHANGE_SMAATO' | 'EXCHANGE_AJA' | 'EXCHANGE_SUPERSHIP' | 'EXCHANGE_NEXSTAR_DIGITAL' | 'EXCHANGE_WAZE' | 'EXCHANGE_SOUNDCAST' | 'EXCHANGE_SHARETHROUGH' | 'EXCHANGE_FYBER' | 'EXCHANGE_RED_FOR_PUBLISHERS' | 'EXCHANGE_MEDIANET' | 'EXCHANGE_TAPJOY' | 'EXCHANGE_VISTAR' | 'EXCHANGE_DAX' | 'EXCHANGE_JCD' | 'EXCHANGE_PLACE_EXCHANGE' | 'EXCHANGE_APPLOVIN' | 'EXCHANGE_CONNATIX' | 'EXCHANGE_RESET_DIGITAL' | 'EXCHANGE_HIVESTACK' | 'EXCHANGE_DRAX' | 'EXCHANGE_APPLOVIN_GBID' | 'EXCHANGE_FYBER_GBID' | 'EXCHANGE_UNITY_GBID' | 'EXCHANGE_CHARTBOOST_GBID' | 'EXCHANGE_ADMOST_GBID' | 'EXCHANGE_TOPON_GBID' | 'EXCHANGE_NETFLIX' | 'EXCHANGE_CORE' | 'EXCHANGE_COMMERCE_GRID' | 'EXCHANGE_SPOTIFY' | 'EXCHANGE_TUBI' | 'EXCHANGE_SNAP' | 'EXCHANGE_CADENT' | 'EXCHANGE_EXTE') | undefined, status?: ('REVIEW_STATUS_UNSPECIFIED' | 'REVIEW_STATUS_APPROVED' | 'REVIEW_STATUS_REJECTED' | 'REVIEW_STATUS_PENDING') | undefined}; export type ReviewStatusInfo = {approvalStatus?: ('APPROVAL_STATUS_UNSPECIFIED' | 'APPROVAL_STATUS_PENDING_NOT_SERVABLE' | 'APPROVAL_STATUS_PENDING_SERVABLE' | 'APPROVAL_STATUS_APPROVED_SERVABLE' | 'APPROVAL_STATUS_REJECTED_NOT_SERVABLE') | undefined, contentAndPolicyReviewStatus?: ('REVIEW_STATUS_UNSPECIFIED' | 'REVIEW_STATUS_APPROVED' | 'REVIEW_STATUS_REJECTED' | 'REVIEW_STATUS_PENDING') | undefined, creativeAndLandingPageReviewStatus?: ('REVIEW_STATUS_UNSPECIFIED' | 'REVIEW_STATUS_APPROVED' | 'REVIEW_STATUS_REJECTED' | 'REVIEW_STATUS_PENDING') | undefined, exchangeReviewStatuses?: Array | undefined}; export type ThirdPartyUrl = {type?: ('THIRD_PARTY_URL_TYPE_UNSPECIFIED' | 'THIRD_PARTY_URL_TYPE_IMPRESSION' | 'THIRD_PARTY_URL_TYPE_CLICK_TRACKING' | 'THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_START' | 'THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_FIRST_QUARTILE' | 'THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_MIDPOINT' | 'THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_THIRD_QUARTILE' | 'THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_COMPLETE' | 'THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_MUTE' | 'THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_PAUSE' | 'THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_REWIND' | 'THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_FULLSCREEN' | 'THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_STOP' | 'THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_CUSTOM' | 'THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_SKIP' | 'THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_PROGRESS') | undefined, url?: string | undefined}; export type TimerEvent = {name?: string | undefined, reportingName?: string | undefined}; export type Transcode = {audioBitRateKbps?: unknown | undefined, audioSampleRateHz?: unknown | undefined, bitRateKbps?: unknown | undefined, dimensions?: Dimensions | undefined, fileSizeBytes?: unknown | undefined, frameRate?: number | undefined, mimeType?: string | undefined, name?: string | undefined, transcoded?: boolean | undefined}; export type UniversalAdId = {id?: string | undefined, registry?: ('UNIVERSAL_AD_REGISTRY_UNSPECIFIED' | 'UNIVERSAL_AD_REGISTRY_OTHER' | 'UNIVERSAL_AD_REGISTRY_AD_ID' | 'UNIVERSAL_AD_REGISTRY_CLEARCAST' | 'UNIVERSAL_AD_REGISTRY_DV360' | 'UNIVERSAL_AD_REGISTRY_CM') | undefined}; export type Creative = {additionalDimensions?: Array | undefined, advertiserId?: unknown | undefined, appendedTag?: string | undefined, assets?: Array | undefined, cmPlacementId?: unknown | undefined, cmTrackingAd?: CmTrackingAd | undefined, companionCreativeIds?: Array | undefined, counterEvents?: Array | undefined, createTime?: unknown | undefined, creativeAttributes?: (Array<'CREATIVE_ATTRIBUTE_UNSPECIFIED' | 'CREATIVE_ATTRIBUTE_VAST' | 'CREATIVE_ATTRIBUTE_VPAID_LINEAR' | 'CREATIVE_ATTRIBUTE_VPAID_NON_LINEAR'>) | undefined, creativeId?: unknown | undefined, creativeType?: ('CREATIVE_TYPE_UNSPECIFIED' | 'CREATIVE_TYPE_STANDARD' | 'CREATIVE_TYPE_EXPANDABLE' | 'CREATIVE_TYPE_VIDEO' | 'CREATIVE_TYPE_NATIVE' | 'CREATIVE_TYPE_TEMPLATED_APP_INSTALL' | 'CREATIVE_TYPE_NATIVE_SITE_SQUARE' | 'CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL' | 'CREATIVE_TYPE_LIGHTBOX' | 'CREATIVE_TYPE_NATIVE_APP_INSTALL' | 'CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE' | 'CREATIVE_TYPE_AUDIO' | 'CREATIVE_TYPE_PUBLISHER_HOSTED' | 'CREATIVE_TYPE_NATIVE_VIDEO' | 'CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO' | 'CREATIVE_TYPE_ASSET_BASED_CREATIVE') | undefined, dimensions?: Dimensions | undefined, displayName?: string | undefined, dynamic?: boolean | undefined, entityStatus?: ('ENTITY_STATUS_UNSPECIFIED' | 'ENTITY_STATUS_ACTIVE' | 'ENTITY_STATUS_ARCHIVED' | 'ENTITY_STATUS_DRAFT' | 'ENTITY_STATUS_PAUSED' | 'ENTITY_STATUS_SCHEDULED_FOR_DELETION') | undefined, exitEvents?: Array | undefined, expandOnHover?: boolean | undefined, expandingDirection?: ('EXPANDING_DIRECTION_UNSPECIFIED' | 'EXPANDING_DIRECTION_NONE' | 'EXPANDING_DIRECTION_UP' | 'EXPANDING_DIRECTION_DOWN' | 'EXPANDING_DIRECTION_LEFT' | 'EXPANDING_DIRECTION_RIGHT' | 'EXPANDING_DIRECTION_UP_AND_LEFT' | 'EXPANDING_DIRECTION_UP_AND_RIGHT' | 'EXPANDING_DIRECTION_DOWN_AND_LEFT' | 'EXPANDING_DIRECTION_DOWN_AND_RIGHT' | 'EXPANDING_DIRECTION_UP_OR_DOWN' | 'EXPANDING_DIRECTION_LEFT_OR_RIGHT' | 'EXPANDING_DIRECTION_ANY_DIAGONAL') | undefined, hostingSource?: ('HOSTING_SOURCE_UNSPECIFIED' | 'HOSTING_SOURCE_CM' | 'HOSTING_SOURCE_THIRD_PARTY' | 'HOSTING_SOURCE_HOSTED' | 'HOSTING_SOURCE_RICH_MEDIA') | undefined, html5Video?: boolean | undefined, iasCampaignMonitoring?: boolean | undefined, integrationCode?: string | undefined, jsTrackerUrl?: string | undefined, lineItemIds?: Array | undefined, mediaDuration?: unknown | undefined, mp3Audio?: boolean | undefined, name?: string | undefined, notes?: string | undefined, obaIcon?: ObaIcon | undefined, oggAudio?: boolean | undefined, progressOffset?: AudioVideoOffset | undefined, requireHtml5?: boolean | undefined, requireMraid?: boolean | undefined, requirePingForAttribution?: boolean | undefined, reviewStatus?: ReviewStatusInfo | undefined, skipOffset?: AudioVideoOffset | undefined, skippable?: boolean | undefined, syntheticContentAttestationStatus?: ('SYNTHETIC_CONTENT_ATTESTATION_STATUS_UNSPECIFIED' | 'NOT_SYNTHETIC' | 'IS_SYNTHETIC') | undefined, thirdPartyTag?: string | undefined, thirdPartyUrls?: Array | undefined, timerEvents?: Array | undefined, trackerUrls?: Array | undefined, transcodes?: Array | undefined, universalAdId?: UniversalAdId | undefined, updateTime?: unknown | undefined, vastTagUrl?: string | undefined, vpaid?: boolean | undefined}; export type PatchApiV4AdvertisersAdvertisersIdCreativesCreativesIdArgs = {advertisersId: string, creativesId: string, updateMask?: unknown | undefined, body: Creative}; export type PatchApiV4AdvertisersAdvertisersIdCreativesCreativesIdOptions = {baseUrl?: string | undefined, Oauth2?: string | undefined, Oauth2c?: string | undefined, fetch?: typeof fetch | undefined}; export const dimensions = z.object({heightPixels: z.number().int().optional(), widthPixels: z.number().int().optional()}); export const asset = z.object({content: z.string().optional(), mediaId: z.string().optional()}); export const assetAssociation = z.object({asset: asset.optional(), role: z.enum(["ASSET_ROLE_UNSPECIFIED", "ASSET_ROLE_MAIN", "ASSET_ROLE_BACKUP", "ASSET_ROLE_POLITE_LOAD", "ASSET_ROLE_HEADLINE", "ASSET_ROLE_LONG_HEADLINE", "ASSET_ROLE_BODY", "ASSET_ROLE_LONG_BODY", "ASSET_ROLE_CAPTION_URL", "ASSET_ROLE_CALL_TO_ACTION", "ASSET_ROLE_ADVERTISER_NAME", "ASSET_ROLE_PRICE", "ASSET_ROLE_ANDROID_APP_ID", "ASSET_ROLE_IOS_APP_ID", "ASSET_ROLE_RATING", "ASSET_ROLE_ICON", "ASSET_ROLE_COVER_IMAGE", "ASSET_ROLE_BACKGROUND_COLOR", "ASSET_ROLE_ACCENT_COLOR", "ASSET_ROLE_REQUIRE_LOGO", "ASSET_ROLE_REQUIRE_IMAGE", "ASSET_ROLE_ENABLE_ASSET_ENHANCEMENTS"]).optional()}); export const cmTrackingAd = z.object({cmAdId: z.string().optional(), cmCreativeId: z.string().optional(), cmPlacementId: z.string().optional()}); export const counterEvent = z.object({name: z.string().optional(), reportingName: z.string().optional()}); export const exitEvent = z.object({name: z.string().optional(), reportingName: z.string().optional(), type: z.enum(["EXIT_EVENT_TYPE_UNSPECIFIED", "EXIT_EVENT_TYPE_DEFAULT", "EXIT_EVENT_TYPE_BACKUP"]).optional(), url: z.string().optional()}); export const obaIcon = z.object({clickTrackingUrl: z.string().optional(), dimensions: dimensions.optional(), landingPageUrl: z.string().optional(), position: z.enum(["OBA_ICON_POSITION_UNSPECIFIED", "OBA_ICON_POSITION_UPPER_RIGHT", "OBA_ICON_POSITION_UPPER_LEFT", "OBA_ICON_POSITION_LOWER_RIGHT", "OBA_ICON_POSITION_LOWER_LEFT"]).optional(), program: z.string().optional(), resourceMimeType: z.string().optional(), resourceUrl: z.string().optional(), viewTrackingUrl: z.string().optional()}); export const audioVideoOffset = z.object({percentage: z.string().optional(), seconds: z.string().optional()}); export const exchangeReviewStatus = z.object({exchange: z.enum(["EXCHANGE_UNSPECIFIED", "EXCHANGE_GOOGLE_AD_MANAGER", "EXCHANGE_APPNEXUS", "EXCHANGE_BRIGHTROLL", "EXCHANGE_ADFORM", "EXCHANGE_ADMETA", "EXCHANGE_ADMIXER", "EXCHANGE_ADSMOGO", "EXCHANGE_ADSWIZZ", "EXCHANGE_BIDSWITCH", "EXCHANGE_BRIGHTROLL_DISPLAY", "EXCHANGE_CADREON", "EXCHANGE_DAILYMOTION", "EXCHANGE_FIVE", "EXCHANGE_FLUCT", "EXCHANGE_FREEWHEEL", "EXCHANGE_GENIEE", "EXCHANGE_GUMGUM", "EXCHANGE_IMOBILE", "EXCHANGE_IBILLBOARD", "EXCHANGE_IMPROVE_DIGITAL", "EXCHANGE_INDEX", "EXCHANGE_KARGO", "EXCHANGE_MICROAD", "EXCHANGE_MOPUB", "EXCHANGE_NEND", "EXCHANGE_ONE_BY_AOL_DISPLAY", "EXCHANGE_ONE_BY_AOL_MOBILE", "EXCHANGE_ONE_BY_AOL_VIDEO", "EXCHANGE_OOYALA", "EXCHANGE_OPENX", "EXCHANGE_PERMODO", "EXCHANGE_PLATFORMONE", "EXCHANGE_PLATFORMID", "EXCHANGE_PUBMATIC", "EXCHANGE_PULSEPOINT", "EXCHANGE_REVENUEMAX", "EXCHANGE_RUBICON", "EXCHANGE_SMARTCLIP", "EXCHANGE_SMARTRTB", "EXCHANGE_SMARTSTREAMTV", "EXCHANGE_SOVRN", "EXCHANGE_SPOTXCHANGE", "EXCHANGE_STROER", "EXCHANGE_TEADSTV", "EXCHANGE_TELARIA", "EXCHANGE_TVN", "EXCHANGE_UNITED", "EXCHANGE_YIELDLAB", "EXCHANGE_YIELDMO", "EXCHANGE_UNRULYX", "EXCHANGE_OPEN8", "EXCHANGE_TRITON", "EXCHANGE_TRIPLELIFT", "EXCHANGE_TABOOLA", "EXCHANGE_INMOBI", "EXCHANGE_SMAATO", "EXCHANGE_AJA", "EXCHANGE_SUPERSHIP", "EXCHANGE_NEXSTAR_DIGITAL", "EXCHANGE_WAZE", "EXCHANGE_SOUNDCAST", "EXCHANGE_SHARETHROUGH", "EXCHANGE_FYBER", "EXCHANGE_RED_FOR_PUBLISHERS", "EXCHANGE_MEDIANET", "EXCHANGE_TAPJOY", "EXCHANGE_VISTAR", "EXCHANGE_DAX", "EXCHANGE_JCD", "EXCHANGE_PLACE_EXCHANGE", "EXCHANGE_APPLOVIN", "EXCHANGE_CONNATIX", "EXCHANGE_RESET_DIGITAL", "EXCHANGE_HIVESTACK", "EXCHANGE_DRAX", "EXCHANGE_APPLOVIN_GBID", "EXCHANGE_FYBER_GBID", "EXCHANGE_UNITY_GBID", "EXCHANGE_CHARTBOOST_GBID", "EXCHANGE_ADMOST_GBID", "EXCHANGE_TOPON_GBID", "EXCHANGE_NETFLIX", "EXCHANGE_CORE", "EXCHANGE_COMMERCE_GRID", "EXCHANGE_SPOTIFY", "EXCHANGE_TUBI", "EXCHANGE_SNAP", "EXCHANGE_CADENT", "EXCHANGE_EXTE"]).optional(), status: z.enum(["REVIEW_STATUS_UNSPECIFIED", "REVIEW_STATUS_APPROVED", "REVIEW_STATUS_REJECTED", "REVIEW_STATUS_PENDING"]).optional()}); export const reviewStatusInfo = z.object({approvalStatus: z.enum(["APPROVAL_STATUS_UNSPECIFIED", "APPROVAL_STATUS_PENDING_NOT_SERVABLE", "APPROVAL_STATUS_PENDING_SERVABLE", "APPROVAL_STATUS_APPROVED_SERVABLE", "APPROVAL_STATUS_REJECTED_NOT_SERVABLE"]).optional(), contentAndPolicyReviewStatus: z.enum(["REVIEW_STATUS_UNSPECIFIED", "REVIEW_STATUS_APPROVED", "REVIEW_STATUS_REJECTED", "REVIEW_STATUS_PENDING"]).optional(), creativeAndLandingPageReviewStatus: z.enum(["REVIEW_STATUS_UNSPECIFIED", "REVIEW_STATUS_APPROVED", "REVIEW_STATUS_REJECTED", "REVIEW_STATUS_PENDING"]).optional(), exchangeReviewStatuses: z.array(exchangeReviewStatus).optional()}); export const thirdPartyUrl = z.object({type: z.enum(["THIRD_PARTY_URL_TYPE_UNSPECIFIED", "THIRD_PARTY_URL_TYPE_IMPRESSION", "THIRD_PARTY_URL_TYPE_CLICK_TRACKING", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_START", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_FIRST_QUARTILE", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_MIDPOINT", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_THIRD_QUARTILE", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_COMPLETE", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_MUTE", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_PAUSE", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_REWIND", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_FULLSCREEN", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_STOP", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_CUSTOM", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_SKIP", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_PROGRESS"]).optional(), url: z.string().optional()}); export const timerEvent = z.object({name: z.string().optional(), reportingName: z.string().optional()}); export const transcode = z.object({audioBitRateKbps: z.string().optional(), audioSampleRateHz: z.string().optional(), bitRateKbps: z.string().optional(), dimensions: dimensions.optional(), fileSizeBytes: z.string().optional(), frameRate: z.number().optional(), mimeType: z.string().optional(), name: z.string().optional(), transcoded: z.boolean().optional()}); export const universalAdId = z.object({id: z.string().optional(), registry: z.enum(["UNIVERSAL_AD_REGISTRY_UNSPECIFIED", "UNIVERSAL_AD_REGISTRY_OTHER", "UNIVERSAL_AD_REGISTRY_AD_ID", "UNIVERSAL_AD_REGISTRY_CLEARCAST", "UNIVERSAL_AD_REGISTRY_DV360", "UNIVERSAL_AD_REGISTRY_CM"]).optional()}); export const creative = z.object({additionalDimensions: z.array(dimensions).optional(), advertiserId: z.string().optional(), appendedTag: z.string().optional(), assets: z.array(assetAssociation).optional(), cmPlacementId: z.string().optional(), cmTrackingAd: cmTrackingAd.optional(), companionCreativeIds: z.array(z.string()).optional(), counterEvents: z.array(counterEvent).optional(), createTime: z.string().optional(), creativeAttributes: z.array(z.enum(["CREATIVE_ATTRIBUTE_UNSPECIFIED", "CREATIVE_ATTRIBUTE_VAST", "CREATIVE_ATTRIBUTE_VPAID_LINEAR", "CREATIVE_ATTRIBUTE_VPAID_NON_LINEAR"])).optional(), creativeId: z.string().optional(), creativeType: z.enum(["CREATIVE_TYPE_UNSPECIFIED", "CREATIVE_TYPE_STANDARD", "CREATIVE_TYPE_EXPANDABLE", "CREATIVE_TYPE_VIDEO", "CREATIVE_TYPE_NATIVE", "CREATIVE_TYPE_TEMPLATED_APP_INSTALL", "CREATIVE_TYPE_NATIVE_SITE_SQUARE", "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL", "CREATIVE_TYPE_LIGHTBOX", "CREATIVE_TYPE_NATIVE_APP_INSTALL", "CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE", "CREATIVE_TYPE_AUDIO", "CREATIVE_TYPE_PUBLISHER_HOSTED", "CREATIVE_TYPE_NATIVE_VIDEO", "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO", "CREATIVE_TYPE_ASSET_BASED_CREATIVE"]).optional(), dimensions: dimensions.optional(), displayName: z.string().optional(), dynamic: z.boolean().optional(), entityStatus: z.enum(["ENTITY_STATUS_UNSPECIFIED", "ENTITY_STATUS_ACTIVE", "ENTITY_STATUS_ARCHIVED", "ENTITY_STATUS_DRAFT", "ENTITY_STATUS_PAUSED", "ENTITY_STATUS_SCHEDULED_FOR_DELETION"]).optional(), exitEvents: z.array(exitEvent).optional(), expandOnHover: z.boolean().optional(), expandingDirection: z.enum(["EXPANDING_DIRECTION_UNSPECIFIED", "EXPANDING_DIRECTION_NONE", "EXPANDING_DIRECTION_UP", "EXPANDING_DIRECTION_DOWN", "EXPANDING_DIRECTION_LEFT", "EXPANDING_DIRECTION_RIGHT", "EXPANDING_DIRECTION_UP_AND_LEFT", "EXPANDING_DIRECTION_UP_AND_RIGHT", "EXPANDING_DIRECTION_DOWN_AND_LEFT", "EXPANDING_DIRECTION_DOWN_AND_RIGHT", "EXPANDING_DIRECTION_UP_OR_DOWN", "EXPANDING_DIRECTION_LEFT_OR_RIGHT", "EXPANDING_DIRECTION_ANY_DIAGONAL"]).optional(), hostingSource: z.enum(["HOSTING_SOURCE_UNSPECIFIED", "HOSTING_SOURCE_CM", "HOSTING_SOURCE_THIRD_PARTY", "HOSTING_SOURCE_HOSTED", "HOSTING_SOURCE_RICH_MEDIA"]).optional(), html5Video: z.boolean().optional(), iasCampaignMonitoring: z.boolean().optional(), integrationCode: z.string().optional(), jsTrackerUrl: z.string().optional(), lineItemIds: z.array(z.string()).optional(), mediaDuration: z.string().optional(), mp3Audio: z.boolean().optional(), name: z.string().optional(), notes: z.string().optional(), obaIcon: obaIcon.optional(), oggAudio: z.boolean().optional(), progressOffset: audioVideoOffset.optional(), requireHtml5: z.boolean().optional(), requireMraid: z.boolean().optional(), requirePingForAttribution: z.boolean().optional(), reviewStatus: reviewStatusInfo.optional(), skipOffset: audioVideoOffset.optional(), skippable: z.boolean().optional(), syntheticContentAttestationStatus: z.enum(["SYNTHETIC_CONTENT_ATTESTATION_STATUS_UNSPECIFIED", "NOT_SYNTHETIC", "IS_SYNTHETIC"]).optional(), thirdPartyTag: z.string().optional(), thirdPartyUrls: z.array(thirdPartyUrl).optional(), timerEvents: z.array(timerEvent).optional(), trackerUrls: z.array(z.string()).optional(), transcodes: z.array(transcode).optional(), universalAdId: universalAdId.optional(), updateTime: z.string().optional(), vastTagUrl: z.string().optional(), vpaid: z.boolean().optional()}); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * Updates an existing creative. Returns the updated creative if successful. A ["Standard" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request. * * PATCH /v4/advertisers/{advertisersId}/creatives/{creativesId} */ export const patchApiV4AdvertisersAdvertisersIdCreativesCreativesId = async (args: PatchApiV4AdvertisersAdvertisersIdCreativesCreativesIdArgs, options?: PatchApiV4AdvertisersAdvertisersIdCreativesCreativesIdOptions) => { const {baseUrl = "https://displayvideo.googleapis.com", fetch: fetchFn = fetch, Oauth2, Oauth2c} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "application/json") if (args.updateMask != null) query.append("updateMask", String(args.updateMask)) if (Oauth2 !== undefined) headers.set('authorization', `Bearer ${Oauth2}`) if (Oauth2c !== undefined) headers.set('authorization', `Bearer ${Oauth2c}`) const url = `${baseUrl.replace(/\/+$/, '')}/v4/advertisers/${encodeURIComponent(String(args.advertisersId))}/creatives/${encodeURIComponent(String(args.creativesId))}${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "PATCH", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(creative, await res.json()) };