GroundTruth Creatives API

The Creatives API from GroundTruth — 5 operation(s) for creatives.

Operations 9

POST /creatives Create Creative #
GET /creatives Get Creatives #
PATCH /creatives Patch Creatives #
GET /creatives/{creative_id} Get Creative #
PUT /creatives/{creative_id} Update Creative #
PATCH /creatives/{creative_id} Patch Creative #
POST /creatives/{creative_id}/clone Clone Creative #
GET /creatives/{creative_id}/preview Get Creative Preview #
GET /creatives/{creative_id}/landing_page_preview Get Creative Landing Page Preview #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/groundtruth-creatives-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

groundtruth-creatives-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Ads Manager Creatives API
  description: Ads Manager API
  version: 1.0.0
servers:
- url: https://api-public.groundtruth.com
  description: Production
tags:
- name: Creatives
paths:
  /creatives:
    post:
      tags:
      - Creatives
      summary: Create Creative
      description: Creates a creative
      operationId: create_creative
      security:
      - api-key: []
      - user-id: []
      - session: []
      parameters:
      - name: tenant_id
        in: query
        required: true
        schema:
          type: integer
          title: Tenant Id
      - name: adgroup_id
        in: query
        required: true
        schema:
          type: integer
          title: Adgroup Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCreativeModel'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreativeModel'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Internal Server Error
    get:
      tags:
      - Creatives
      summary: Get Creatives
      description: Gets all creatives in an ad group
      operationId: get_creatives
      security:
      - api-key: []
      - user-id: []
      - session: []
      parameters:
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 100
          exclusiveMinimum: 1
          description: Number of creatives to limit response to
          default: 10
          title: Limit
        description: Number of creatives to limit response to
      - name: page_num
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          description: Page number to retrieve. Starts at 1.
          default: 1
          title: Page Num
        description: Page number to retrieve. Starts at 1.
      - name: sort_order
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/SortOrder'
          description: Sorts creatives by name
          default: asc
        description: Sorts creatives by name
      - name: updated_since
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          description: Limits results to creatives updated since a unix timestamp
          title: Updated Since
        description: Limits results to creatives updated since a unix timestamp
      - name: tenant_id
        in: query
        required: true
        schema:
          type: integer
          title: Tenant Id
      - name: adgroup_id
        in: query
        required: true
        schema:
          type: integer
          title: Adgroup Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreativesModel'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Internal Server Error
    patch:
      tags:
      - Creatives
      summary: Patch Creatives
      description: Patches multiple creatives in a campaign
      operationId: patch_creatives
      security:
      - api-key: []
      - user-id: []
      - session: []
      parameters:
      - name: tenant_id
        in: query
        required: true
        schema:
          type: integer
          title: Tenant Id
      - name: campaign_id
        in: query
        required: true
        schema:
          type: integer
          title: Campaign Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchCreativesModel'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponseModel'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Internal Server Error
  /creatives/{creative_id}:
    get:
      tags:
      - Creatives
      summary: Get Creative
      description: Gets a creative
      operationId: get_creative
      security:
      - api-key: []
      - user-id: []
      - session: []
      parameters:
      - name: creative_id
        in: path
        required: true
        schema:
          type: integer
          title: Creative Id
      - name: tenant_id
        in: query
        required: true
        schema:
          type: integer
          title: Tenant Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreativeModel'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Internal Server Error
    put:
      tags:
      - Creatives
      summary: Update Creative
      description: Updates a creative
      operationId: update_creative
      security:
      - api-key: []
      - user-id: []
      - session: []
      parameters:
      - name: creative_id
        in: path
        required: true
        schema:
          type: integer
          title: Creative Id
      - name: tenant_id
        in: query
        required: true
        schema:
          type: integer
          title: Tenant Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCreativeModel'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreativeModel'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Internal Server Error
    patch:
      tags:
      - Creatives
      summary: Patch Creative
      description: Patches a creative
      operationId: patch_creative
      security:
      - api-key: []
      - user-id: []
      - session: []
      parameters:
      - name: creative_id
        in: path
        required: true
        schema:
          type: integer
          title: Creative Id
      - name: tenant_id
        in: query
        required: true
        schema:
          type: integer
          title: Tenant Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchCreativeModel'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreativeModel'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Internal Server Error
  /creatives/{creative_id}/clone:
    post:
      tags:
      - Creatives
      summary: Clone Creative
      description: Clones a creative
      operationId: clone_creative
      security:
      - api-key: []
      - user-id: []
      - session: []
      parameters:
      - name: creative_id
        in: path
        required: true
        schema:
          type: integer
          title: Creative Id
      - name: tenant_id
        in: query
        required: true
        schema:
          type: integer
          title: Tenant Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreativeModel'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Internal Server Error
  /creatives/{creative_id}/preview:
    get:
      tags:
      - Creatives
      summary: Get Creative Preview
      description: Gets the creative preview using the stored CMS configuration. Video creatives return VAST XML; other types return HTML.
      operationId: get_creative_preview
      security:
      - api-key: []
      - user-id: []
      - session: []
      parameters:
      - name: creative_id
        in: path
        required: true
        schema:
          type: integer
          title: Creative Id
      - name: tenant_id
        in: query
        required: true
        schema:
          type: integer
          title: Tenant Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Internal Server Error
  /creatives/{creative_id}/landing_page_preview:
    get:
      tags:
      - Creatives
      summary: Get Creative Landing Page Preview
      description: Gets the landing page preview HTML for a creative
      operationId: get_creative_landing_page_preview
      security:
      - api-key: []
      - user-id: []
      - session: []
      parameters:
      - name: creative_id
        in: path
        required: true
        schema:
          type: integer
          title: Creative Id
      - name: tenant_id
        in: query
        required: true
        schema:
          type: integer
          title: Tenant Id
      responses:
        '200':
          description: Successful Response
          content:
            text/html:
              schema:
                type: string
        '400':
          content:
            text/html:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Bad Request
        '401':
          content:
            text/html:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Unauthorized
        '403':
          content:
            text/html:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Forbidden
        '404':
          content:
            text/html:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Not Found
        '500':
          content:
            text/html:
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Internal Server Error
components:
  schemas:
    CreativeModel:
      properties:
        id:
          type: integer
          title: Id
        name:
          type: string
          title: Name
        status:
          $ref: '#/components/schemas/CreativeStatus'
        type:
          $ref: '#/components/schemas/CreativeType'
        click_through_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Click Through Url
        image_banner_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Image Banner Url
        vast_tag_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Vast Tag Url
        script_tag:
          anyOf:
          - type: string
          - type: 'null'
          title: Script Tag
        size:
          anyOf:
          - type: string
          - type: 'null'
          title: Size
        api_type:
          anyOf:
          - $ref: '#/components/schemas/CreativeAPI'
          - type: 'null'
        landing_page:
          anyOf:
          - oneOf:
            - $ref: '#/components/schemas/StandardSuperLandingPage-Output'
            - $ref: '#/components/schemas/ImageLandingPage-Output'
            discriminator:
              propertyName: type
              mapping:
                '1': '#/components/schemas/StandardSuperLandingPage-Output'
                '2': '#/components/schemas/StandardSuperLandingPage-Output'
                '3': '#/components/schemas/ImageLandingPage-Output'
          - type: 'null'
          title: Landing Page
          description: Settings for custom GT landing page
        third_party_click_tracker_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Third Party Click Tracker Url
          description: Applies to `landing_page` on image creatives and HTML5 third-party click tracking.
        html5_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Html5 Url
          description: Only applies to HTML5 creatives.
        external_impression_urls:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: External Impression Urls
        external_script_urls:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: External Script Urls
        html_tag:
          anyOf:
          - type: string
          - type: 'null'
          title: Html Tag
          description: Only applies to HTML5 creatives. Populated with processed banner HTML once processing is complete.
        start_date:
          anyOf:
          - type: string
            format: date
          - type: 'null'
          title: Start Date
        end_date:
          anyOf:
          - type: string
            format: date
          - type: 'null'
          title: End Date
        freq_cap_duration:
          anyOf:
          - type: integer
          - type: 'null'
          title: Freq Cap Duration
        freq_cap_value:
          anyOf:
          - type: integer
          - type: 'null'
          title: Freq Cap Value
        interstitial:
          type: boolean
          title: Interstitial
          default: false
        rotation_weight:
          type: integer
          title: Rotation Weight
          default: 1
        asset_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Asset Id
        thumbnail_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Thumbnail Url
          description: Thumbnails are only available for video creatives. But not all video creatives will have them.
        dooh_metadata:
          anyOf:
          - $ref: '#/components/schemas/CreativeDOOHMetadata'
          - type: 'null'
        updated_date:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Updated Date
        blocked:
          type: boolean
          title: Blocked
        image_banner_text_overlay:
          anyOf:
          - type: string
          - type: 'null'
          title: Image Banner Text Overlay
          description: Only applies to IMAGE creatives
        image_banner_text_overlay_css:
          anyOf:
          - type: string
          - type: 'null'
          title: Image Banner Text Overlay Css
          description: Only applies to IMAGE creatives
        text_banner:
          anyOf:
          - $ref: '#/components/schemas/TextBannerCreativeSettings-Output'
          - type: 'null'
          description: Only applies to TEXT_BANNER creatives
        third_party_placement_id:
          anyOf:
          - type: string
            maxLength: 128
          - type: 'null'
          title: Third Party Placement Id
        waymark_asset_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Waymark Asset Id
      type: object
      required:
      - id
      - name
      - status
      - type
      - blocked
      title: CreativeModel
    ErrorModel:
      properties:
        code:
          type: string
          title: Code
        message:
          type: string
          title: Message
        fields:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Fields
      type: object
      required:
      - code
      - message
      - fields
      title: ErrorModel
    PatchCreativeModel:
      properties:
        name:
          anyOf:
          - type: string
            maxLength: 128
            minLength: 1
          - type: 'null'
          title: Name
        status:
          anyOf:
          - $ref: '#/components/schemas/CreativeStatus'
          - type: 'null'
        start_date:
          anyOf:
          - type: string
            format: date
          - type: 'null'
          title: Start Date
        end_date:
          anyOf:
          - type: string
            format: date
          - type: 'null'
          title: End Date
        freq_cap_duration:
          anyOf:
          - type: integer
            maximum: 126.0
            minimum: 1.0
          - type: 'null'
          title: Freq Cap Duration
        freq_cap_value:
          anyOf:
          - type: integer
            maximum: 32766.0
            minimum: 1.0
          - type: 'null'
          title: Freq Cap Value
        rotation_weight:
          anyOf:
          - type: integer
            maximum: 32766.0
            minimum: 1.0
          - type: 'null'
          title: Rotation Weight
        click_through_url:
          anyOf:
          - type: string
            maxLength: 2083
            minLength: 1
            format: uri
          - type: 'null'
          title: Click Through Url
        third_party_placement_id:
          anyOf:
          - type: string
            maxLength: 128
          - type: 'null'
          title: Third Party Placement Id
      type: object
      title: PatchCreativeModel
    ErrorResponseModel:
      properties:
        errors:
          items:
            $ref: '#/components/schemas/ErrorModel'
          type: array
          title: Errors
      type: object
      required:
      - errors
      title: ErrorResponseModel
    GTLandingPagePageOverlayAction:
      oneOf:
      - const: website
        title: WEBSITE
      - const: moreinfo
        title: MORE_INFO
      - const: appstore
        title: APP_STORE
      - const: passbook
        title: PASSBOOK
      - const: direction
        title: DIRECTION
      - const: coupon
        title: COUPON
      - const: media
        title: MEDIA
      type: string
      enum:
      - website
      - moreinfo
      - appstore
      - passbook
      - direction
      - coupon
      - media
      title: GTLandingPagePageOverlayAction
      x-enum-varnames:
      - WEBSITE
      - MORE_INFO
      - APP_STORE
      - PASSBOOK
      - DIRECTION
      - COUPON
      - MEDIA
    PatchCreativesModel:
      properties:
        creatives:
          items:
            $ref: '#/components/schemas/MultiPatchCreativeModel'
          type: array
          minItems: 1
          title: Creatives
      type: object
      required:
      - creatives
      title: PatchCreativesModel
    SuccessResponseModel:
      properties:
        success:
          type: boolean
          title: Success
          default: true
      type: object
      title: SuccessResponseModel
    CreativeDOOHMetadata:
      properties:
        approval_status:
          $ref: '#/components/schemas/ConsolidatedDOOHApprovalStatus'
        approval_feedback:
          anyOf:
          - type: string
          - type: 'null'
          title: Approval Feedback
      type: object
      required:
      - approval_status
      title: CreativeDOOHMetadata
    ConsolidatedDOOHApprovalStatus:
      oneOf:
      - const: 1
        title: SUBMITTED
      - const: 2
        title: INITIAL_REVIEW_APPROVED
      - const: 3
        title: INITIAL_REVIEW_REJECTED
      - const: 4
        title: PUBLISHER_REVIEW_APPROVED
      - const: 5
        title: PUBLISHER_REVIEW_REJECTED
      type: integer
      enum:
      - 1
      - 2
      - 3
      - 4
      - 5
      title: ConsolidatedDOOHApprovalStatus
      x-enum-varnames:
      - SUBMITTED
      - INITIAL_REVIEW_APPROVED
      - INITIAL_REVIEW_REJECTED
      - PUBLISHER_REVIEW_APPROVED
      - PUBLISHER_REVIEW_REJECTED
    TextBannerCreativeSettings-Input:
      properties:
        caption:
          type: string
          maxLength: 160
          title: Caption
          description: Headline text shown on the banner
          default: ''
        business_name:
          anyOf:
          - type: string
            maxLength: 128
          - type: 'null'
          title: Business Name
          description: Business name shown on the banner
        background_color:
          anyOf:
          - type: string
            pattern: ^[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$
            examples:
            - FFAA74
            - 01AB23CD
          - type: 'null'
          title: Background Color
          description: Hex color (without leading `#`). Used when no `background_image_url` is provided.
        background_image_url:
          anyOf:
          - type: string
            maxLength: 2083
            minLength: 1
            format: uri
          - type: 'null'
          title: Background Image Url
          description: Must be 320x50 or proportional
        business_logo_url:
          anyOf:
          - type: string
            maxLength: 2083
            minLength: 1
            format: uri
          - type: 'null'
          title: Business Logo Url
          description: Must be 40x40 or proportional
        business_name_color:
          anyOf:
          - type: string
            pattern: ^[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$
            examples:
            - FFAA74
            - 01AB23CD
          - type: 'null'
          title: Business Name Color
        caption_color:
          anyOf:
          - type: string
            pattern: ^[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$
            examples:
            - FFAA74
            - 01AB23CD
          - type: 'null'
          title: Caption Color
        distance_color:
          anyOf:
          - type: string
            pattern: ^[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$
            examples:
            - FFAA74
            - 01AB23CD
          - type: 'null'
          title: Distance Color
        show_scrolling_text:
          type: boolean
          title: Show Scrolling Text
          default: false
        show_distance:
          type: boolean
          title: Show Distance
          default: false
      type: object
      title: TextBannerCreativeSettings
    StandardSuperLandingPage-Output:
      properties:
        type:
          type: integer
          enum:
          - 1
          - 2
          title: Type
        header_image_url:
          type: string
          title: Header Image Url
          description: Must be 640x400 or proportional
        header_click_through_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Header Click Through Url
        button_color:
          anyOf:
          - type: string
            pattern: ^[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$
            examples:
            - FFAA74
            - 01AB23CD
          - type: 'null'
          title: Button Color
        directions_button_label:
          anyOf:
          - type: string
          - type: 'null'
          title: Directions Button Label
        call_button_label:
          anyOf:
          - type: string
          - type: 'null'
          title: Call Button Label
        additional_button_click_through_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Additional Button Click Through Url
        additional_button_text:
          anyOf:
          - type: string
          - type: 'null'
          title: Additional Button Text
        coupon_image_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Coupon Image Url
          description: Must be 750x704 or proportional
        coupon_click_through_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Coupon Click Through Url
        youtube_video_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Youtube Video Id
          description: The `v` query parameter from a Youtube video URL
        footer_title:
          anyOf:
          - type: string
          - type: 'null'
          title: Footer Title
        footer_text:
          anyOf:
          - type: string
          - type: 'null'
          title: Footer Text
        flip_coupon_and_video:
          type: boolean
          title: Flip Coupon And Video
          description: If true, the coupon will appear above the Youtube video
          default: false
      type: object
      required:
      - type
      - header_image_url
      title: StandardSuperLandingPage
    CreativeType:
      oneOf:
      - const: IMAGE
        title: IMAGE
      - const: HTML5
        title: HTML5
      - const: SCRIPT
        title: SCRIPT
      - const: VIDEO
        title: VIDEO
      - const: TEXT_BANNER
        title: TEXT_BANNER
      - const: AUDIO
        title: AUDIO
      type: string
      enum:
      - IMAGE
      - HTML5
      - SCRIPT
      - VIDEO
      - TEXT_BANNER
      - AUDIO
      title: CreativeType
      x-enum-varnames:
      - IMAGE
      - HTML5
      - SCRIPT
      - VIDEO
      - TEXT_BANNER
      - AUDIO
    CreativeStatus:
      oneOf:
      - const: 1
        title: ACTIVE
      - const: 2
        title: PAUSED
      - const: 7
        title: INCOMPLETE
      type: integer
      enum:
      - 1
      - 2
      - 7
      title: CreativeStatus
      x-enum-varnames:
      - ACTIVE
      - PAUSED
      - INCOMPLETE
    UpdateCreativeModel:
      properties:
        name:
          type: string
          maxLength: 128
          minLength: 1
          title: Name
        type:
          $ref: '#/components/schemas/CreativeType'
          description: 'Currently supported: IMAGE, AUDIO, SCRIPT, HTML5, VIDEO, TEXT_BANNER'
        click_through_url:
          anyOf:
          - type: string
            maxLength: 2083
            minLength: 1
            format: uri
          - type: 'null'
          title: Click Through Url
        status:
          $ref: '#/components/schemas/CreativeStatus'
          description: IN

# --- truncated at 32 KB (57 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/groundtruth/refs/heads/main/openapi/groundtruth-creatives-api-openapi.yml