> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mottostreaming.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get banner

> GetBanner

 Returns banner information by banner ID.



## OpenAPI

````yaml get /cms/banners/v3/{banner_id}
openapi: 3.0.3
info:
  title: Studio API - Motto
  version: 0.0.0
servers:
  - url: https://api.mottostreaming.com
    description: Production server
security:
  - BearerAuth: []
tags:
  - name: AccountService
    description: Account management service
  - name: ActionConfigurationService
    description: Action configuration service definition
  - name: ActionSecretService
    description: Action type service definition
  - name: ActionService
    description: Action service definition
  - name: ActionTypeService
    description: Action type service definition
  - name: ActivityService
    description: Activity service definition
  - name: AdService
    description: Ad management service.
  - name: AnnotationService
    description: Annotation service definition
  - name: AnnotationSetService
    description: Annotation service definition
  - name: AnnotationTypeService
    description: Annotation service definition
  - name: AssetService
    description: Asset management service.
  - name: AuthService
    description: Auth service definition
  - name: BannerService
    description: Banner service definition
  - name: BannerV2Service_v2
    description: Banner service definition
  - name: BannerV3Service_v3
    description: Banner service definition
  - name: CleengService
    description: CleengService service definition
  - name: ClipService
    description: ClipService is the service that handles Clip operations.
  - name: ConfigurationService
    description: >-
      Configuration management service. These configurations allow modifying the
      behavior of streams, uploads, simulcasts, etc.
  - name: ContentTypeService
    description: ContentType service definition
  - name: CreativeWorkService
    description: CreativeWork service definition
  - name: EntitlementService
    description: Entitlement service definition
  - name: EntityService
    description: Entity service definition
  - name: EventService
    description: Event service definition
  - name: FileService
    description: OTT files management.
  - name: IngestService
    description: Ingest management service.
  - name: IngestService_v2
    description: Ingest management service.
  - name: LiveStreamService
    description: LiveStream management service.
  - name: LiveStreamService_v2
    description: LiveStream management service.
  - name: OfferService
    description: Offer service definition
  - name: OrganizationService
    description: Organization management service.
  - name: PageService
    description: Page service definition
  - name: PageService_v2
    description: Page service definition
  - name: PlatformService
    description: Platform service definition
  - name: PlaylistService
    description: Playlist management service.
  - name: ProjectService
    description: Project management service.
  - name: SimulcastService
    description: Simulcast management service.
  - name: SlugService
    description: Slug service definition
  - name: SpiideoService
    description: SpiideoService service definition
  - name: StandingService
    description: Standing service definition
  - name: StitcherService
    description: StitcherService is the service that handles stitching operations.
  - name: StripeService
    description: StripeService service definition
  - name: SubscriptionService
    description: Subscription service definition
  - name: SubtitleService
    description: SubtitleService is the service that handles Subtitle operations.
  - name: TransactionService
    description: Transaction service definition
  - name: UploadService
    description: Upload management service.
  - name: UsageService
    description: The UsageService provides methods to retrieve usage data for SKUs.
  - name: UserService
    description: User management service
  - name: VODService
    description: VODService is the service that handles VOD operations.
  - name: VODService_v2
    description: VODService is the service that handles VOD operations.
  - name: VideoProtectionService
    description: VideoProtection management service.
  - name: VideoProtectionService_v2
    description: VideoProtection management service.
  - name: VideoService
    description: Video management service.
paths:
  /cms/banners/v3/{banner_id}:
    get:
      tags:
        - BannerV3Service_v3
      description: |-
        GetBanner

         Returns banner information by banner ID.
      operationId: BannerV3Service_v3_GetBanner
      parameters:
        - name: banner_id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/motto.cms.banner.v3.GetBannerResponse'
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/google.rpc.Status'
components:
  schemas:
    motto.cms.banner.v3.GetBannerResponse:
      type: object
      properties:
        banner:
          $ref: '#/components/schemas/motto.cms.banner.v3.Banner'
    google.rpc.Status:
      type: object
      properties:
        code:
          type: integer
          description: >-
            The status code, which should be an enum value of
            [google.rpc.Code][google.rpc.Code].
          format: int32
        message:
          type: string
          description: >-
            A developer-facing error message, which should be in English. Any
            user-facing error message should be localized and sent in the
            [google.rpc.Status.details][google.rpc.Status.details] field, or
            localized by the client.
        details:
          type: array
          items:
            $ref: '#/components/schemas/google.protobuf.Any'
          description: >-
            A list of messages that carry the error details.  There is a common
            set of message types for APIs to use.
      description: >-
        The `Status` type defines a logical error model that is suitable for
        different programming environments, including REST APIs and RPC APIs. It
        is used by [gRPC](https://github.com/grpc). Each `Status` message
        contains three pieces of data: error code, error message, and error
        details. You can find out more about this error model and how to work
        with it in the [API Design
        Guide](https://cloud.google.com/apis/design/errors).
    motto.cms.banner.v3.Banner:
      required:
        - project_id
        - name
        - banner_type
      type: object
      properties:
        id:
          readOnly: true
          type: string
          description: System generated unique identifier for the banner.
        project_id:
          type: string
        name:
          type: string
          description: >-
            A name for visual identification within the management UI. Does not
            appear towards end users.
        banner_type:
          enum:
            - BANNER_TYPE_UNSPECIFIED
            - BANNER_TYPE_DEFAULT
            - BANNER_TYPE_EVENT
            - BANNER_TYPE_CREATIVE_WORK
            - BANNER_TYPE_ENTITY
          type: string
          description: The type of banner that determines how content is sourced.
          format: enum
        content_id:
          type: string
          description: >-
            Single banner - it is connected to a single content item (either an
            event, entity, or creative work).


            Important: at most one of `content_id`, `dynamic_target` may be set
            per request.
        dynamic_target:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.DynamicBannerTarget'
          description: >-
            Dynamic banner - it is not connected to a single content item, but
            derives its content from a set of filters.


            Important: at most one of `content_id`, `dynamic_target` may be set
            per request.
        template_type:
          readOnly: true
          enum:
            - BANNER_TEMPLATE_TYPE_UNSPECIFIED
            - BANNER_TEMPLATE_TYPE_DEFAULT
            - BANNER_TEMPLATE_TYPE_DEFAULT_ENTITY
            - BANNER_TEMPLATE_TYPE_ENTITY_1
            - BANNER_TEMPLATE_TYPE_FEATURE_BANNER
            - BANNER_TEMPLATE_TYPE_SINGLE_EVENT
            - BANNER_TEMPLATE_TYPE_TEAM_VS_TEAM_HERO
            - BANNER_TEMPLATE_TYPE_TEAM_VS_TEAM_MIDPAGE
          type: string
          description: >-
            The type of template that should be rendered. This is derived from
            the field that is set in `template`, so it does
             not have to be provided when creating or updating a banner.
          format: enum
        background_assets:
          type: array
          items:
            $ref: '#/components/schemas/motto.cms.banner.v3.BannerAsset'
          description: >-
            A list of assets to be shown in the background (as the main banner
            image).
             Each asset is meant for a different screen size, determined by its `breakpoint_width` property.
             E.g. if you only want a single asset for this banner, you can set `breakpoint_width` to 0.
             E.g. if you want to show a different asset for mobile vs desktop, you can set `breakpoint_width` to 0 for the
             mobile asset and 1024 for the desktop asset.
        template:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerTemplate'
          description: The content needed by the template that should be rendered.
        environments:
          type: array
          items:
            type: string
          description: >-
            The environments in which this banner should be rendered. The
            available options are:
             "web", "ios", "android", "tvos", "lg", "samsung", "androidtv"

             Important: this should always be a subset of the environments configured at the page-component level for the
             associated banner collection.
             For example, if a page component is configured to be "ios" only, but a banner inside that component has "web" only,
             that banner will never be shown.
        css_classes:
          type: array
          items:
            type: string
          description: >-
            Web only. A list of CSS classes that should be added to the banner's
            container element.
             This can be used to apply custom styling to the banner.
        visibility:
          enum:
            - VISIBILITY_UNSPECIFIED
            - VISIBILITY_PUBLISHED
            - VISIBILITY_UNLISTED
            - VISIBILITY_HIDDEN
          type: string
          format: enum
        overrides:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/motto.cms.banner.v3.BannerOverride'
          description: >-
            A map of overrides for the banner. This is useful for scenarios
            where some subset of Banner instantiations should have different
            properties.
             The key is a `content_id` (either event ID, entity ID, or creative work ID), the value is the override to apply when that content is in context.

             Note that a hit on a banner override will entirely replace the banner template and its content;
             it will not merge with the base banner.
        geo_applicability_exempt:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.CountryCodes'
          description: >-
            Viewers from these countries will not have this video ad shown.


            Important: at most one of `geo_applicability_exempt`,
            `geo_applicability_apply` may be set per request.
        geo_applicability_apply:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.CountryCodes'
          description: >-
            Viewers from these countries will have this video ad shown.


            Important: at most one of `geo_applicability_exempt`,
            `geo_applicability_apply` may be set per request.
        destination_url:
          type: object
          additionalProperties:
            type: string
          description: >-
            Optional. A map of localized destination URLs. The key is the
            language code (ISO 639 - set 1), e.g. "en", "de", "fr", etc.
             If you want to localize the URL for different regions of the same language, you can add the country code (ISO 3166-1 alpha-2), e.g. "en-US", "en-GB", etc.
             Note that this is not necessary for banners of type BANNER_TYPE_EVENT, BANNER_TYPE_CREATIVE_WORK, or BANNER_TYPE_ENTITY,
             as the destination URL will be derived from the connected content item in those cases.
        is_preview:
          type: boolean
          description: >-
            Indicates that this banner is a preview banner. Preview banner are
            not shown to end users, but can be used for testing and previewing
            changes.
             When you wish to deploy a preview banner to production (your main platform for end users), you should use `CloneBanner`.
        source_banner_id:
          type: string
          description: >-
            The banner ID of the production page that this preview banner is
            based on.
             This field is only relevant when "is_preview" is true. It will be set automatically when using the "CloneBanner" API method.
        is_fallback:
          type: boolean
          description: >-
            Indicates that this banner is a fallback banner. Fallback banners
            are shown only when there are no other banners
             that can be shown based on their targeting criteria in `connected_content`.
             If multiple fallback banners exist in a banner collection, only the first one in a banner collection will be used.
      description: >-
        Banner represents a single banner that can be displayed on an end-user
        facing web/app page.
         Banners can be either static (with fixed content) or dynamic (content derived from parameters).
    google.protobuf.Any:
      type: object
      properties:
        '@type':
          type: string
          description: The type of the serialized message.
      additionalProperties: true
      description: >-
        Contains an arbitrary serialized message along with a @type that
        describes the type of the serialized message.
    motto.cms.banner.v3.DynamicBannerTarget:
      type: object
      properties:
        filter:
          type: string
          description: >-
            Filter the result-set by properties using a subset of the Kibana
            Query Language.
             This will make a List API call to retrieve the relevant resource for this banner.
             For BANNER_TYPE_EVENT, this would be a ListEvents call.
             For BANNER_TYPE_CREATIVE_WORK, this would be a ListCreativeWorks call.
             For BANNER_TYPE_ENTITY, this would be a ListEntities call,

             For example, let's say a BANNER_TYPE_EVENT banner is shown on a competition page, and the goal is to show the
             first upcoming event from that competition in the banner.
             The filter could be: `status:EVENT_STATUS_SCHEDULED and fields.competition.id:{id}`
             in combination with the `order_by` value of `start_time asc` to get the next upcoming event.
        order_by:
          type: string
          description: >-
            To be used in combination with `filter`. See documentation there for
            more details.
        offset:
          type: string
          description: >-
            The number of items to offset the result-set by. This is useful when
            multiple banners exist with the same filter/order_by,
             and you want to show different items in each banner.
    motto.cms.banner.v3.BannerAsset:
      type: object
      properties:
        options:
          type: array
          items:
            $ref: '#/components/schemas/motto.cms.banner.v3.BannerAsset_Option'
          description: >-
            Multiple options to choose from for this asset. The first option
            that resolves to a valid asset URL will be used.
             This is typically useful when there are several keypaths that may contain a usable asset, in which case the first
             one that resolves to a valid URL will be selected. Typically it is recommended to put the `asset_id` option last, so that
             it acts as a fallback if none of the keypaths resolve to a valid asset.
             However, for static banners it may make sense to only provide a single `asset_id` option.
        breakpoint_width:
          type: integer
          description: >-
            The `min-width` at which this image/video should be shown (unless
            another asset is closer to the min-width).
          format: int32
    motto.cms.banner.v3.BannerTemplate:
      type: object
      properties:
        default_banner:
          $ref: '#/components/schemas/motto.cms.banner.v3.BannerDefault'
          description: >-
            Important: at most one of `default_banner`, `default_entity`,
            `entity_1`, `feature_banner`, `single_event`, `team_vs_team_hero`,
            `team_vs_team_midpage` may be set per request.
        default_entity:
          $ref: '#/components/schemas/motto.cms.banner.v3.BannerDefaultEntity'
          description: >-
            Important: at most one of `default_banner`, `default_entity`,
            `entity_1`, `feature_banner`, `single_event`, `team_vs_team_hero`,
            `team_vs_team_midpage` may be set per request.
        entity_1:
          $ref: '#/components/schemas/motto.cms.banner.v3.BannerEntity1'
          description: >-
            Important: at most one of `default_banner`, `default_entity`,
            `entity_1`, `feature_banner`, `single_event`, `team_vs_team_hero`,
            `team_vs_team_midpage` may be set per request.
        feature_banner:
          $ref: '#/components/schemas/motto.cms.banner.v3.BannerFeature'
          description: >-
            Important: at most one of `default_banner`, `default_entity`,
            `entity_1`, `feature_banner`, `single_event`, `team_vs_team_hero`,
            `team_vs_team_midpage` may be set per request.
        single_event:
          $ref: '#/components/schemas/motto.cms.banner.v3.BannerSingleEvent'
          description: >-
            Important: at most one of `default_banner`, `default_entity`,
            `entity_1`, `feature_banner`, `single_event`, `team_vs_team_hero`,
            `team_vs_team_midpage` may be set per request.
        team_vs_team_hero:
          $ref: '#/components/schemas/motto.cms.banner.v3.BannerTeamVsTeamHero'
          description: >-
            Important: at most one of `default_banner`, `default_entity`,
            `entity_1`, `feature_banner`, `single_event`, `team_vs_team_hero`,
            `team_vs_team_midpage` may be set per request.
        team_vs_team_midpage:
          $ref: '#/components/schemas/motto.cms.banner.v3.BannerTeamVsTeamMidpage'
          description: >-
            Important: at most one of `default_banner`, `default_entity`,
            `entity_1`, `feature_banner`, `single_event`, `team_vs_team_hero`,
            `team_vs_team_midpage` may be set per request.
      description: >-
        BannerTemplate holds the content for the template that renders the
        banner. Each template has its own data structure.
         Exactly one field should be set; the one that is set determines which template is rendered, and is reflected in the
         banner's `template_type`.

         Two conventions apply to all template messages below:

           - Text fields are maps keyed by language code (ISO 639 - set 1), e.g. "en", "de", "fr". To localize for different
             regions of the same language, add the country code (ISO 3166-1 alpha-2), e.g. "en-US", "en-GB". The content
             delivery API collapses these into a single string for the locale the end user requested.
           - Text and color values can reference properties of the connected content item using variable keypaths, e.g.
             `{event.title}`, `{entity.name}`, or `{event.fields.home_team.item.color}`. The content delivery API interpolates
             these with their actual values.
    motto.cms.banner.v3.BannerOverride:
      type: object
      properties:
        template:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerTemplate'
          description: >-
            The content needed by the template that should be rendered. The
            template that is set here replaces the one on the
             base banner entirely; the two are not merged.
        background_assets:
          type: array
          items:
            $ref: '#/components/schemas/motto.cms.banner.v3.BannerAsset'
          description: >-
            A list of assets to be shown in the background (as the main banner
            image).
             Each asset is meant for a different screen size, determined by its `breakpoint_width` property.
             E.g. if you only want a single asset for this banner, you can set `breakpoint_width` to 0.
             E.g. if you want to show a different asset for mobile vs desktop, you can set `breakpoint_width` to 0 for the
             mobile asset and 1024 for the desktop asset.
        environments:
          type: array
          items:
            type: string
          description: >-
            The environments in which this banner should be rendered. The
            available options are:
             "web", "ios", "android", "tvos", "lg", "samsung", "androidtv"
             If left empty, the banner will be rendered in all environments (when possible).
        css_classes:
          type: array
          items:
            type: string
          description: >-
            Web only. A list of CSS classes that should be added to the banner's
            container element.
             This can be used to apply custom styling to the banner.
        visibility:
          enum:
            - VISIBILITY_UNSPECIFIED
            - VISIBILITY_PUBLISHED
            - VISIBILITY_UNLISTED
            - VISIBILITY_HIDDEN
          type: string
          format: enum
        geo_applicability_exempt:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.CountryCodes'
          description: >-
            Viewers from these countries will not have this video ad shown.


            Important: at most one of `geo_applicability_exempt`,
            `geo_applicability_apply` may be set per request.
        geo_applicability_apply:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.CountryCodes'
          description: >-
            Viewers from these countries will have this video ad shown.


            Important: at most one of `geo_applicability_exempt`,
            `geo_applicability_apply` may be set per request.
        destination_url:
          type: object
          additionalProperties:
            type: string
          description: >-
            Optional. A map of localized destination URLs. The key is the
            language code (ISO 639 - set 1), e.g. "en", "de", "fr", etc.
             If you want to localize the URL for different regions of the same language, you can add the country code (ISO 3166-1 alpha-2), e.g. "en-US", "en-GB", etc.
             Note that this is not necessary for banners of type BANNER_TYPE_EVENT, BANNER_TYPE_CREATIVE_WORK, or BANNER_TYPE_ENTITY,
             as the destination URL will be derived from the connected content item in those cases.
      description: >-
        BannerOverride is a subset of the Banner message. It can be used to
        modify default behavior of a banner.
    motto.cms.banner.v3.CountryCodes:
      type: object
      properties:
        country_codes:
          type: array
          items:
            type: string
          description: >-
            A country code (ISO 3316-1 alpha-2:
            https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes)
      description: A list of country codes
    motto.cms.banner.v3.BannerAsset_Option:
      type: object
      properties:
        asset_id:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerAssetIDs'
          description: >-
            A map of either an image or video assets. The key is the language
            code (ISO 639 - set 1), e.g. "en", "de", "fr", etc.
             If you want to localize the assets for different regions of the same language, you can add the country code (ISO 3166-1 alpha-2), e.g. "en-US", "en-GB", etc.
        keypath:
          type: string
          description: >-
            A keypath on the associated content resource. This should resolve to
            a Motto-hosted asset URL.
             Unlike the `asset_id` field, this will already be localized based on the end user's language preference.
             E.g.: `event.fields.competition.item.banner`
    motto.cms.banner.v3.BannerDefault:
      type: object
      properties:
        main_text:
          type: object
          additionalProperties:
            type: string
          description: >-
            Main text to display in the banner. This is the only field the
            template requires.
        main_font:
          enum:
            - BANNER_FONT_UNSPECIFIED
            - BANNER_FONT_MAIN
            - BANNER_FONT_BRAND
          type: string
          description: Font family to use for the main text.
          format: enum
        description:
          type: object
          additionalProperties:
            type: string
          description: Secondary description text to display in the banner.
        logo:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerImage'
          description: The banner's logo image.
        slot_one_text:
          type: object
          additionalProperties:
            type: string
          description: >-
            Text for the first metadata slot (e.g., category or label name).
            Rendered as a pill badge above the main text.
        slot_one_text_font:
          enum:
            - BANNER_FONT_UNSPECIFIED
            - BANNER_FONT_MAIN
            - BANNER_FONT_BRAND
          type: string
          description: Font family to use for the slot one text.
          format: enum
        show_main_button:
          type: boolean
          description: >-
            Whether to display the main button on the banner. Defaults to true
            when not set.
        main_button_text:
          type: object
          additionalProperties:
            type: string
          description: Text for the main button. If not provided, defaults to 'Learn more'.
        main_button_text_font:
          enum:
            - BANNER_FONT_UNSPECIFIED
            - BANNER_FONT_MAIN
            - BANNER_FONT_BRAND
          type: string
          description: Font family to use for the main button text.
          format: enum
        main_button_colors:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerColors'
          description: >-
            Colors to use for the main button background. This will create a
            gradient if both colors are provided.
        main_button_text_color:
          type: string
          description: >-
            Color to use for the main button text. This can be a hex color code
            or a named color.
        show_share:
          type: boolean
          description: Whether to display a share button on the banner. Defaults to false.
        share_button_colors:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerColors'
          description: >-
            Colors to use for the share button background. This will create a
            gradient if both colors are provided.
        share_button_text_color:
          type: string
          description: >-
            Color to use for the share button text/icon. This can be a hex color
            code or a named color.
        gradients:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerGradients'
          description: >-
            Optional gradient overlays to apply on top of the banner background
            image.
      description: >-
        Content for the `default` template: a basic banner that displays a
        single text field.
    motto.cms.banner.v3.BannerDefaultEntity:
      type: object
      properties:
        main_text:
          type: object
          additionalProperties:
            type: string
          description: >-
            Main heading text, typically containing the entity name. This is the
            only field the template requires.
        main_text_font:
          enum:
            - BANNER_FONT_UNSPECIFIED
            - BANNER_FONT_MAIN
            - BANNER_FONT_BRAND
          type: string
          description: Font family to use for the main text.
          format: enum
        description:
          type: object
          additionalProperties:
            type: string
          description: >-
            Description text displayed below the main heading, typically
            providing additional context about the entity.
        logo:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerImage'
          description: The entity's logo image.
        show_main_button:
          type: boolean
          description: >-
            Whether to display the main button on the banner. Defaults to true
            when not set.
        main_button_text:
          type: object
          additionalProperties:
            type: string
          description: Text for the main button. If not provided, defaults to 'Learn more'.
        main_button_text_font:
          enum:
            - BANNER_FONT_UNSPECIFIED
            - BANNER_FONT_MAIN
            - BANNER_FONT_BRAND
          type: string
          description: Font family to use for the main button text.
          format: enum
        main_button_colors:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerColors'
          description: >-
            Colors to use for the main button background. This will create a
            gradient if both colors are provided.
             If not provided, defaults to `base-content`.
        main_button_text_color:
          type: string
          description: >-
            Color to use for the main button text. This can be a hex color code
            or a named color (e.g. `primary`).
             If not provided, defaults to `base-100`.
        show_share:
          type: boolean
          description: Whether to display a share button on the banner. Defaults to false.
        share_button_colors:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerColors'
          description: >-
            Colors to use for the share button background. This will create a
            gradient if both colors are provided.
             If not provided, defaults to `base-content`.
        share_button_text_color:
          type: string
          description: >-
            Color to use for the share button text/icon. This can be a hex color
            code or a named color (e.g. `primary`).
             If not provided, defaults to `base-100`.
        gradients:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerGradients'
          description: >-
            Optional gradient overlays to apply on top of the banner background
            image.
      description: >-
        Content for the `default-entity` template: a hero banner for entities
        (such as clubs, federations, or competitions),
         displaying a single logo and main text.
    motto.cms.banner.v3.BannerEntity1:
      type: object
      properties:
        main_text:
          type: object
          additionalProperties:
            type: string
          description: >-
            Main heading text, typically containing the entity name. This is the
            only field the template requires.
        main_text_font:
          enum:
            - BANNER_FONT_UNSPECIFIED
            - BANNER_FONT_MAIN
            - BANNER_FONT_BRAND
          type: string
          description: Font family to use for the main text.
          format: enum
        description:
          type: object
          additionalProperties:
            type: string
          description: >-
            Description text displayed below the main heading, typically
            providing additional context about the entity.
        logo:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerImage'
          description: The entity's logo image.
        show_main_button:
          type: boolean
          description: >-
            Whether to display the main button on the banner. Defaults to true
            when not set.
        main_button_text:
          type: object
          additionalProperties:
            type: string
          description: Text for the main button. If not provided, defaults to 'Learn more'.
        main_button_text_font:
          enum:
            - BANNER_FONT_UNSPECIFIED
            - BANNER_FONT_MAIN
            - BANNER_FONT_BRAND
          type: string
          description: Font family to use for the main button text.
          format: enum
        main_button_colors:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerColors'
          description: >-
            Colors to use for the main button background. This will create a
            gradient if both colors are provided.
             If not provided, defaults to `base-content`.
        main_button_text_color:
          type: string
          description: >-
            Color to use for the main button text. This can be a hex color code
            or a named color (e.g. `primary`).
             If not provided, defaults to `base-100`.
        show_share:
          type: boolean
          description: Whether to display a share button on the banner. Defaults to false.
        share_button_colors:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerColors'
          description: >-
            Colors to use for the share button background. This will create a
            gradient if both colors are provided.
             If not provided, defaults to `base-content`.
        share_button_text_color:
          type: string
          description: >-
            Color to use for the share button text/icon. This can be a hex color
            code or a named color (e.g. `primary`).
             If not provided, defaults to `base-100`.
        gradients:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerGradients'
          description: >-
            Optional gradient overlays to apply on top of the banner background
            image.
      description: >-
        Content for the `entity-1` template: a hero banner for entities (such as
        clubs, federations, or competitions),
         displaying a single logo and main text. It carries the same content as `default-entity`, but renders the logo and
         main text larger, and centers all content horizontally.
    motto.cms.banner.v3.BannerFeature:
      type: object
      properties:
        main_text:
          type: object
          additionalProperties:
            type: string
          description: >-
            Main heading text (the title). Limited to two lines; longer text is
            truncated with an ellipsis.
             This is the only field the template requires.
        main_text_font:
          enum:
            - BANNER_FONT_UNSPECIFIED
            - BANNER_FONT_MAIN
            - BANNER_FONT_BRAND
          type: string
          description: Font family to use for the main text.
          format: enum
        description:
          type: object
          additionalProperties:
            type: string
          description: >-
            Description text displayed below the title. Limited to two lines;
            longer text is truncated with an ellipsis.
        description_font:
          enum:
            - BANNER_FONT_UNSPECIFIED
            - BANNER_FONT_MAIN
            - BANNER_FONT_BRAND
          type: string
          description: Font family to use for the description.
          format: enum
        top_logo:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerImage'
          description: Optional logo image displayed above the title in the text column.
        side_logo:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerImage'
          description: >-
            Optional large logo image displayed on the end side (right for LTR,
            left for RTL) of the banner.
        show_main_button:
          type: boolean
          description: >-
            Whether to display the main button on the banner. Defaults to true
            when not set.
        main_button_show_play_icon:
          type: boolean
          description: >-
            Whether to display the circular play icon inside the main button.
            Defaults to true when not set.
        main_button_text:
          type: object
          additionalProperties:
            type: string
          description: >-
            Text for the main button. Used on static (`default`) and `entity`
            banners, and as the fallback for the
             status-aware labels below. If none are provided, defaults to 'Learn more'.
        main_button_text_font:
          enum:
            - BANNER_FONT_UNSPECIFIED
            - BANNER_FONT_MAIN
            - BANNER_FONT_BRAND
          type: string
          description: Font family to use for the main button text.
          format: enum
        main_button_watch_text:
          type: object
          additionalProperties:
            type: string
          description: >-
            Text for the main button when event / creative-work content is live
            or available on demand.
             Falls back to `main_button_text`, then to 'Watch now'.
        main_button_watch_text_font:
          enum:
            - BANNER_FONT_UNSPECIFIED
            - BANNER_FONT_MAIN
            - BANNER_FONT_BRAND
          type: string
          description: Font family to use for the main button watch text.
          format: enum
        main_button_default_text:
          type: object
          additionalProperties:
            type: string
          description: >-
            Text for the main button when event / creative-work content is
            scheduled (not yet started).
             Falls back to `main_button_text`, then to 'Learn more'.
        main_button_default_text_font:
          enum:
            - BANNER_FONT_UNSPECIFIED
            - BANNER_FONT_MAIN
            - BANNER_FONT_BRAND
          type: string
          description: Font family to use for the main button default text.
          format: enum
        main_button_colors:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerColors'
          description: >-
            Colors to use for the main button background. This will create a
            gradient if both colors are provided.
             If not provided, the button uses a solid white background.
        main_button_text_color:
          type: string
          description: >-
            Color to use for the main button text. This can be a hex color code
            or a named color (e.g. `primary`).
             If not provided, the button text uses a dark navy color.
      description: >-
        Content for the `feature-banner` template: a promotional hero banner
        with a split layout, pairing a text column on
         the start side with a large logo on the end side.
         This template works with the `default` (static), `entity`, `event`, and `creative_work` banner types. For `event` and
         `creative_work` banners, the call-to-action button label adapts to the status of the connected content. `entity`
         banners have no content status, so (like static banners) they use the single `main_button_text` label.
    motto.cms.banner.v3.BannerSingleEvent:
      type: object
      properties:
        main_text:
          type: object
          additionalProperties:
            type: string
          description: >-
            Main heading text, typically containing the event title. This field
            is required by the template.
        main_text_font:
          enum:
            - BANNER_FONT_UNSPECIFIED
            - BANNER_FONT_MAIN
            - BANNER_FONT_BRAND
          type: string
          description: Font family to use for the main text.
          format: enum
        slot_one_text:
          type: object
          additionalProperties:
            type: string
          description: Text for the first metadata slot (e.g., league/season name).
        slot_one_text_font:
          enum:
            - BANNER_FONT_UNSPECIFIED
            - BANNER_FONT_MAIN
            - BANNER_FONT_BRAND
          type: string
          description: Font family to use for the slot one text.
          format: enum
        venue_text:
          type: object
          additionalProperties:
            type: string
          description: Text for the venue/stadium information.
        venue_text_font:
          enum:
            - BANNER_FONT_UNSPECIFIED
            - BANNER_FONT_MAIN
            - BANNER_FONT_BRAND
          type: string
          description: Font family to use for the venue text.
          format: enum
        logo:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerImage'
          description: The event's logo image. This field is required by the template.
        main_button_watch_text:
          type: object
          additionalProperties:
            type: string
          description: >-
            Text for the main button when the event is started, paused, or
            finished. If not provided, defaults to 'Watch now'.
        main_button_watch_text_font:
          enum:
            - BANNER_FONT_UNSPECIFIED
            - BANNER_FONT_MAIN
            - BANNER_FONT_BRAND
          type: string
          description: Font family to use for the main button watch text.
          format: enum
        main_button_default_text:
          type: object
          additionalProperties:
            type: string
          description: >-
            Text for the main button when the event is not yet started. If not
            provided, defaults to 'Learn more'.
        main_button_default_text_font:
          enum:
            - BANNER_FONT_UNSPECIFIED
            - BANNER_FONT_MAIN
            - BANNER_FONT_BRAND
          type: string
          description: Font family to use for the main button default text.
          format: enum
        main_button_colors:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerColors'
          description: >-
            Colors to use for the main button background. This will create a
            gradient if both colors are provided.
             If not provided, defaults to `base-content`.
        main_button_text_color:
          type: string
          description: >-
            Color to use for the main button text. This can be a hex color code
            or a named color (e.g. `primary`).
             If not provided, defaults to `base-100`.
        show_share:
          type: boolean
          description: Whether to display a share button on the banner. Defaults to false.
        share_button_colors:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerColors'
          description: >-
            Colors to use for the share button background. This will create a
            gradient if both colors are provided.
             If not provided, defaults to `base-content`.
        share_button_text_color:
          type: string
          description: >-
            Color to use for the share button text/icon. This can be a hex color
            code or a named color (e.g. `primary`).
             If not provided, defaults to `base-100`.
        gradients:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerGradients'
          description: >-
            Optional gradient overlays to apply on top of the banner background
            image.
      description: >-
        Content for the `single-event` template: a hero banner for sports
        events, displaying an event logo, event
         information, and venue details.
         This template only works when `banner_type` is `BANNER_TYPE_EVENT`.
    motto.cms.banner.v3.BannerTeamVsTeamHero:
      type: object
      properties:
        main_text:
          type: object
          additionalProperties:
            type: string
          description: >-
            Main heading text, typically containing the event title. This field
            is required by the template.
        main_text_font:
          enum:
            - BANNER_FONT_UNSPECIFIED
            - BANNER_FONT_MAIN
            - BANNER_FONT_BRAND
          type: string
          description: Font family to use for the main text.
          format: enum
        slot_one_text:
          type: object
          additionalProperties:
            type: string
          description: Text for the first metadata slot (e.g., league/season name).
        slot_one_text_font:
          enum:
            - BANNER_FONT_UNSPECIFIED
            - BANNER_FONT_MAIN
            - BANNER_FONT_BRAND
          type: string
          description: Font family to use for the slot one text.
          format: enum
        venue_text:
          type: object
          additionalProperties:
            type: string
          description: Text for the venue/stadium information.
        venue_text_font:
          enum:
            - BANNER_FONT_UNSPECIFIED
            - BANNER_FONT_MAIN
            - BANNER_FONT_BRAND
          type: string
          description: Font family to use for the venue text.
          format: enum
        home_logo:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerImage'
          description: The home team's logo image. This field is required by the template.
        away_logo:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerImage'
          description: The away team's logo image. This field is required by the template.
        main_button_watch_text:
          type: object
          additionalProperties:
            type: string
          description: >-
            Text for the main button when the event is started, paused, or
            finished. If not provided, defaults to 'Watch now'.
        main_button_watch_text_font:
          enum:
            - BANNER_FONT_UNSPECIFIED
            - BANNER_FONT_MAIN
            - BANNER_FONT_BRAND
          type: string
          description: Font family to use for the main button watch text.
          format: enum
        main_button_default_text:
          type: object
          additionalProperties:
            type: string
          description: >-
            Text for the main button when the event is not yet started. If not
            provided, defaults to 'Learn more'.
        main_button_default_text_font:
          enum:
            - BANNER_FONT_UNSPECIFIED
            - BANNER_FONT_MAIN
            - BANNER_FONT_BRAND
          type: string
          description: Font family to use for the main button default text.
          format: enum
        main_button_colors:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerColors'
          description: >-
            Colors to use for the main button background. This will create a
            gradient if both colors are provided.
             If not provided, defaults to `base-content`.
        main_button_text_color:
          type: string
          description: >-
            Color to use for the main button text. This can be a hex color code
            or a named color (e.g. `primary`).
             If not provided, defaults to `base-100`.
        show_share:
          type: boolean
          description: Whether to display a share button on the banner. Defaults to false.
        share_button_colors:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerColors'
          description: >-
            Colors to use for the share button background. This will create a
            gradient if both colors are provided.
             If not provided, defaults to `base-content`.
        share_button_text_color:
          type: string
          description: >-
            Color to use for the share button text/icon. This can be a hex color
            code or a named color (e.g. `primary`).
             If not provided, defaults to `base-100`.
        gradients:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerGradients'
          description: >-
            Optional gradient overlays to apply on top of the banner background
            image.
      description: >-
        Content for the `team-vs-team-hero` template: a hero banner for sports
        events, displaying two competing teams with
         their logos, event information, and venue details.
         This template only works when `banner_type` is `BANNER_TYPE_EVENT`.
    motto.cms.banner.v3.BannerTeamVsTeamMidpage:
      type: object
      properties:
        main_text:
          type: object
          additionalProperties:
            type: string
          description: Main heading text. This field is required by the template.
        main_text_font:
          enum:
            - BANNER_FONT_UNSPECIFIED
            - BANNER_FONT_MAIN
            - BANNER_FONT_BRAND
          type: string
          description: Font family to use for the main text.
          format: enum
        description:
          type: object
          additionalProperties:
            type: string
          description: Description text.
        description_font:
          enum:
            - BANNER_FONT_UNSPECIFIED
            - BANNER_FONT_MAIN
            - BANNER_FONT_BRAND
          type: string
          description: Font family to use for the description.
          format: enum
        tagline:
          type: object
          additionalProperties:
            type: string
          description: Tagline text.
        tagline_font:
          enum:
            - BANNER_FONT_UNSPECIFIED
            - BANNER_FONT_MAIN
            - BANNER_FONT_BRAND
          type: string
          description: Font family to use for the tagline.
          format: enum
        tagline_colors:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerColors'
          description: >-
            Colors to use for the tagline text gradient. If only `color1` is
            provided, use a solid color.
        home_logo:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerImage'
          description: The home team's logo image. This field is required by the template.
        away_logo:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerImage'
          description: The away team's logo image. This field is required by the template.
        vs_divider:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerImage'
          description: The image to use as a divider between the teams.
        home_color:
          type: string
          description: >-
            Background color for the home team logo area. This can be a hex
            color code or a named color (e.g. `primary`).
        away_color:
          type: string
          description: >-
            Background color for the away team logo area. This can be a hex
            color code or a named color (e.g. `primary`).
        show_main_button:
          type: boolean
          description: >-
            Whether to display the main button on the banner. Defaults to true
            when not set.
        main_button_watch_text:
          type: object
          additionalProperties:
            type: string
          description: >-
            Text for the main button when the event is started, paused, or
            finished. If not provided, defaults to 'Watch now'.
        main_button_watch_text_font:
          enum:
            - BANNER_FONT_UNSPECIFIED
            - BANNER_FONT_MAIN
            - BANNER_FONT_BRAND
          type: string
          description: Font family to use for the main button watch text.
          format: enum
        main_button_default_text:
          type: object
          additionalProperties:
            type: string
          description: >-
            Text for the main button when the event is not yet started. If not
            provided, defaults to 'Learn more'.
        main_button_default_text_font:
          enum:
            - BANNER_FONT_UNSPECIFIED
            - BANNER_FONT_MAIN
            - BANNER_FONT_BRAND
          type: string
          description: Font family to use for the main button default text.
          format: enum
        main_button_colors:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerColors'
          description: >-
            Colors to use for the main button background. This will create a
            gradient if both colors are provided.
             If not provided, defaults to `base-content`.
        main_button_text_color:
          type: string
          description: >-
            Color to use for the main button text. This can be a hex color code
            or a named color (e.g. `primary`).
             If not provided, defaults to `base-100`.
        gradients:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerGradients'
          description: >-
            Optional gradient overlays to apply on top of the banner background
            image.
      description: >-
        Content for the `team-vs-team-midpage` template: a mid-page banner for
        sports events, displaying two competing teams
         with their logos against colored backgrounds, a tagline, description, and action button.
         This template only works when `banner_type` is `BANNER_TYPE_EVENT`.
    motto.cms.banner.v3.BannerAssetIDs:
      type: object
      properties:
        asset_id:
          type: object
          additionalProperties:
            type: string
          description: >-
            A map of either an image or video assets. The key is the language
            code (ISO 639 - set 1), e.g. "en", "de", "fr", etc.
             If you want to localize the assets for different regions of the same language, you can add the country code (ISO 3166-1 alpha-2), e.g. "en-US", "en-GB", etc.
    motto.cms.banner.v3.BannerImage:
      type: object
      properties:
        keypath:
          type: string
          description: >-
            A keypath on the associated content resource. This should resolve to
            a Motto-hosted asset URL.
             Unlike the `asset_id` field, this will already be localized based on the end user's language preference.
             Several keypaths can be chained with `??`, in which case the first one that resolves is used.
             E.g.: `{event.fields.home_team.item.thumbnail_url ?? event.fields.home_club.item.thumbnail_url}`

            Important: at most one of `keypath`, `asset_id` may be set per
            request.
        asset_id:
          allOf:
            - $ref: '#/components/schemas/motto.cms.banner.v3.BannerAssetIDs'
          description: >-
            Hard-coded asset IDs, one per locale.


            Important: at most one of `keypath`, `asset_id` may be set per
            request.
      description: An image displayed by a banner template.
    motto.cms.banner.v3.BannerColors:
      type: object
      properties:
        color1:
          type: string
          description: The solid color, or the gradient start color.
        color2:
          type: string
          description: >-
            The gradient end color. If provided along with `color1`, this
            creates a gradient.
      description: >-
        A pair of colors that form a gradient when both are provided, and a
        solid color when only `color1` is provided.
         Each color is a hex color code (e.g. `#FF5733`), a named color (e.g. `primary`), or a keypath.
    motto.cms.banner.v3.BannerGradients:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/motto.cms.banner.v3.BannerGradient'
          description: The gradients to apply, in the order they should be applied.
      description: |-
        The gradient overlays to apply on top of the banner background image.
         This is wrapped in a message so that "no gradients configured" (the message is absent, meaning the template renders
         its own default gradients) can be distinguished from "gradients explicitly disabled" (the message is present with an
         empty `items` list, meaning no gradients are displayed).
    motto.cms.banner.v3.BannerGradient:
      type: object
      properties:
        position:
          enum:
            - BANNER_GRADIENT_POSITION_UNSPECIFIED
            - BANNER_GRADIENT_POSITION_BOTTOM
            - BANNER_GRADIENT_POSITION_TOP
            - BANNER_GRADIENT_POSITION_START
            - BANNER_GRADIENT_POSITION_END
          type: string
          description: The edge from which the gradient originates.
          format: enum
        size:
          enum:
            - BANNER_GRADIENT_SIZE_UNSPECIFIED
            - BANNER_GRADIENT_SIZE_SM
            - BANNER_GRADIENT_SIZE_MD
            - BANNER_GRADIENT_SIZE_LG
            - BANNER_GRADIENT_SIZE_FULL
          type: string
          description: How far the gradient extends into the banner.
          format: enum
      description: >-
        A gradient overlay applied on top of the banner background image. It
        fades from the platform's `base-100` color to
         transparent.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

````