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

# Get a Single Image Ad Item



## OpenAPI

````yaml /openapi/haku.json get /ad-items/image/{id}
openapi: 3.0.0
info:
  title: Haku API
  version: '2.0'
  description: >-
    API de Haku Ad Server. Las URLs son predecibles y orientadas a recursos;
    todas las respuestas, incluidos los errores, son JSON.
servers:
  - url: https://api.hakumedia.ai/v2
security:
  - API Key: []
tags:
  - name: Ad Items (All)
    description: >-
      An ad item is an object where you enter the details of an individual ad.
      There are different types of ad items, each corresponding to a different
      medium or source.  
        
      The different types of Ad Items are:  
        
      - __Image__ - Ads made of a static image. They are delivered using the
      `image` HTML tag and wrapped in an &lt;a&gt; tag to direct clicks. These
      are typically either affiliate links or email ads.  
        
      - __Rich Media__ - Also known as HTML5 ads, these allow you to serve
      dynamic, animated, and interactive ads in lieu of the legacy Flash format.
      HTML5 ads are typically uploaded as ZIP archives, and include HTML,
      scripts, styles, and media as a self-contained package. __NOTE__: Haku
      accepts only HTML5 ZIP archives that contain 200 files or fewer.  
        
      - __Custom HTML__ - Also known as third party tags, these are custom ads
      or scripts, typically used when you want to serve ads from an ad exchange
      or other external source.  
        
      - __Native__ - For native ads, which rely on native ad templates.  
        
      - __S2S Connection__ - Ads from other ad networks, delivered via a
      server-to-server connection. __NOTE__: Soon to be deprecated, since demand
      sources can now be managed under the Programmatic section of the Haku
      interface.
    x-group: Campañas
  - name: Ad Items / Image
    description: >-
      <p>Image ad items (commonly known as "display ads") are an effective
      medium for delivering advertising messages across multiple platforms. They
      are easy to setup and configure because they require only a creative (i.e.
      an image file) and, when applicable, a destination URL to which users will
      be redirected when the ad is clicked.</p><p>In general, ad items are
      assigned to an advertiser campaign, and in turn the campaign to a zone. Ad
      items can also be assigned directly to a zone, but we recommend doing so
      only if the ad items are directly related to that zone's publisher or are
      intended to be default/house ads.</p>
    x-group: Campañas
  - name: Ad Items / Custom HTML
    description: >-
      <p>Creating a custom HTML ad item is the best option if you need to serve
      a third-party advertisement from an ad network or another advertiser, or
      if you want to create an ad that cannot be achieved using traditional
      display advertising.</p><p>Custom HTML ad items allow you to implement
      virtually any type of ad using Haku’s ad serving macros and a text
      box.</p><p>In general, ad items are assigned to an advertiser campaign,
      and in turn the campaign to a zone. Ad items can also be assigned directly
      to a zone, but we recommend doing so only if the ad items are directly
      related to that zone's publisher or are intended to be default/house
      ads.</p>
    x-group: Campañas
  - name: Ad Items / Native
    description: >-
      Native ad items use native templates to create seamless editorial
      content.<br/><br/>You can read more about native ads and how they are used
      in our help documentation.
    x-group: Campañas
  - name: Ad Items / Companion Products
    description: >-
      <p>Ad item companion products link an ad item to a product in a product DB
      catalog. Each companion product belongs to a single ad item and references
      a specific product via a catalog ID and product identifier
      (SKU).</p><p>Companion products are nested under ad items and can be
      managed under both
      <code>/ad-items/image/{ad_item_id}/companions/products</code> and
      <code>/ad-items/native/{ad_item_id}/companions/products</code>.</p><p>Requires
      the <strong>Display Ad Item Companions</strong> and <strong>Product DB
      Replicated</strong> features.</p>
    x-group: Retail media
  - name: AdServe
    description: >
      For server-side ad requests via JSON API, use the adserve endpoint to
      request ad items in JSON format from the ad server.<br/><br/>The ad
      response will include details of your advertisement and relevant tracking
      information. The ad item can then be styled before being displayed to the
      user for a truly native ad - one that matches the look and feel of its
      display environment. JSON ads can be displayed on web sites, mobile apps,
      chatbots, billboards, smart mirrors, elevators, and many other
      platforms.<br/><br/>Ad serve requests are made to a separate server:
      `https://ads.hakumedia.ai`.
    x-group: Ad serving
  - name: Advertisers
    description: >-
      An advertiser is an individual or a company looking to purchase ad space
      for their advertisements. Administrators and managers (if permitted) can
      create advertiser accounts, create new advertisements, and copy conversion
      tags. Advertiser user accounts can also be permitted to schedule new
      campaigns.
    x-group: Campañas
  - name: Campaigns (All)
    description: >+
      Campaigns are groups of ad items. Instead of creating an ad item within a
      zone, you can assign one or more ad items to a campaign. You can then
      serve those ad items by assigning that campaign to one or more zones.


      We highly recommend assigning ad items to campaigns instead of directly
      into zones. Ad items created directly within a zone cannot be assigned to
      other zones, whereas ad items in campaigns can be served to multiple
      zones. Campaigns also make it much easier to track the performance and
      statistics of related ad items. We recommend creating an ad item directly
      within a zone only if the ad item is meant to be a default or fallback
      ad. 


      When you assign a campaign to a zone, you assign all the ad items under
      that campaign to that zone. The ad items will have the same assignment
      details, but each ad item can be assigned a specific weight to allow you
      to prioritize one over another.


      If a campaign contains ad items of varying sizes, only ad items compatible
      with the requesting zone will be considered for serving.


      There are two types of campaigns. A Standard Campaign is for most ad items
      types, including images, HTML/Rich media, and email ads. A VAST Campaign
      is for VAST ad items.

    x-group: Campañas
  - name: Campaigns / Standard
    description: >-
      A standard campaign is a group of image ads, HTML5/Rich Media ads, custom
      HTML ads, or email ads. Standard campaigns can be scheduled to serve in
      the zones of your choice (except for VAST zones, which are compatible only
      with VAST campaigns), enabling you to easily collect grouped statistics
      and determine payouts for advertisers. 


      Campaigns do not have size restrictions, which means you can assign ad
      items of varying sizes to the same campaign. However, only the ad items
      compatible with the requesting zone will be considered for serving.
    x-group: Campañas
  - name: Campaign Assignments
    description: >-
      A campaign assignment represents the relationship between an ad item and a
      campaign.
    x-group: Campañas
  - name: Ad Items / Catalog Item
    description: >-
      <p>Ad items represent the particular catalog item (product) being
      promoted. One or more catalog ad items may be assigned to a campaign.</p>
    x-group: Retail media
  - name: Ad Items / Catalog Item / Bulk
    description: >-
      <p>Bulk operations for catalog ad items. These endpoints allow you to
      create or delete multiple catalog ad items at once and assign them to
      campaigns.</p>
    x-group: Retail media
  - name: Zones / Catalog
    description: >-
      <p>A catalog zone is the representation of a source of promoted product
      ads. Advertiser campaigns would be assigned to catalog zones (called a
      placement), making them eligible to be matched against when making an ad
      request.</p>
    x-group: Retail media
  - name: Creatives (All)
    description: >-
      Creatives are the displayed part of an ad item. It can be an image,
      HTML5/rich media, custom HTML, or video.
    x-group: Campañas
  - name: Creatives / Image
    description: >-
      The image file that makes up an advertisement is known as the image
      creative. You can create a new image creative, retrieve one or more image
      creatives, update an existing image creative, or delete the image
      creative.
    x-group: Campañas
  - name: Data Keys
    description: >-
      Aside from keywords, location, and platform-based targeting, Haku also
      lets you target specific audiences using key value-based attributes. These
      are called data keys. For example, you can use data keys to target a
      specific age, gender, or date. Like the other forms of targeting, you must
      create and define data keys before you can use them.  
        
      Data keys simply hold the value of attributes. After creating and defining
      data keys, you must create [Data Key Targets](#tag/Data-Key-Targets) to
      set up the actual targeting filters. For more information, read How to
      create data keys and data key targets via API.
    x-group: Targeting
  - name: Data Key Targets
    description: >-
      Data Key targets are used hand-in-hand with [Data Keys](#tag/Data-Keys) to
      create custom targeting filters. For more information, read How to create
      data keys and data key targets via API.
    x-group: Targeting
  - name: Geo Targets
    description: >-
      <p>Geographic targets ("geo targets") enable you to deliver advertisements
      to users based on their geographic location. This is an effective way of
      reducing wasted impressions and increasing your return on
      investment.</p><p>Geographic targeting can be as generic as continents or
      as specific as cities. A geo target may contain as many areas as desired
      which can vary in specificity. (For example, an area of <i>"South
      America"</i> and an area of a specific city could exist in the same geo
      target.) Geo targets can either be inclusive or exclusive.</p>
    x-group: Targeting
  - name: Media Groups
    description: >-
      Media groups allow you to group creatives together for easier organization
      and management in your account.
    x-group: Campañas
  - name: Native Templates
    description: >-
      Native templates define the styles and formatting of native ads. Once a
      template is created it can then be applied, reused, and edited as needed
      to make native ad items.</br></br>Native ads are ads that look like
      editorial content. For example, a native ad on a blog looks like the other
      articles on the site, a native ad on Instagram looks like an Instagram
      post, and a native ad on a search engine looks like other search results.
      Native ads are also known as sponsored content or promoted posts.
    x-group: Inventario
  - name: Placements
    description: >-
      Assign an advertisement or campaign to a zone based on a set of scheduling
      criteria using the placements endpoint.  

      Each placement represents a combination of criteria required to serve an
      advertisement. Prior to creating a placement, you will need to have
      created several other resources:  
        
      * An [ad item](#tag/Ad-Items-(All)), 

      * a [campaign](#tag/Campaigns-(All)),

      * a [zone](#tag/Zones-(All)),

      * and a [schedule](#tag/Schedules)  
        
      You also have the option to create targeting filters, keywords, and
      activity limits to further control the deliverability of your placements.
    x-group: Campañas
  - name: Platform Targets
    description: >-
      <p>Target your advertisements to specific mobile/tablet/notebook/desktop
      devices, or to specific browsers and operating systems to help ensure
      users get the best ads for their platform. You can also target specific
      mobile phones or tablets, such as iPhones or Samsung devices using device
      targeting filters.</p>
    x-group: Targeting
  - name: Product DB / Catalog
    description: <p>Product catalogs that can be used for product-based advertising.</p>
    x-group: Retail media
  - name: Product DB / Catalog Items
    description: >-
      <p>Product catalog items that can be used for product-based
      advertising.</p>
    x-group: Retail media
  - name: Product DB / Catalog Items / Bulk Upload
    description: >-
      <p>Bulk upload a catalog CSV with column names that match the fields
      submitted to a catalog.</p>
    x-group: Retail media
  - name: Product DB / Publisher Sources
    description: >-
      <p>Publisher Sources that can be used for product-based advertising
      targeting.</p>
    x-group: Retail media
  - name: Product DB / Publisher Source Targets
    description: >-
      <p>Publisher Source Targets that can be used for product-based advertising
      targeting.</p>
    x-group: Retail media
  - name: Publishers
    description: >-
      A publisher is typically a person or a company who owns a website, app,
      newsletter, or even another ad server. Each publisher will have one or
      more zones, which represent the locations on their websites, apps or
      newsletters where advertisements can be displayed.
    x-group: Inventario
  - name: Reports
    description: >-
      <p>Reporting is the new interface to Statistics. It serves to quantify the
      serving of your advertisements across price and performance related
      metrics. They are updated in real time. We go to great lengths to give you
      detailed and accurate data about the performance of your advertisements to
      help you make informed decisions. The following endpoints enable you to
      build your own reporting dashboard.</p>
    x-group: Reportes
  - name: Schedules
    description: >-
      Schedules describe the conditions necessary for serving advertisements.
      Common conditions include start and end dates, and quotas.  
        
      You can also use delivery methods to determine the expiration and pacing
      set up for advertisements. Default delivery delivers the impressions as
      quickly as possible, while smooth delivery will evenly serve impressions
      over the lifetime dates and quotas.  
        
      For example, with smooth delivery, if your campaign has a quota of 30,000
      impression set over a period of 60 days, the system would serve the
      assignment 500 times per day. Smooth delivery assignments have the highest
      potential priority for serving within Haku. If a quota has not been filled
      then that assignment will generally always serve as long as a targeting
      system does not interfere.  
        
      __NOTE__: Schedules have no effect on their own and must be referenced
      through their ID. For campaigns with campaign-level scheduling, the
      schedule must be referenced in the [placement](#tag/Placements). For
      campaigns with ad item-level scheduling, the schedule must be referenced
      in the [campaign assignment](#tag/Campaign-Assignments) for each ad item
      in the campaign.  
        
      Multiple placements and assignments can reference the same schedule, so
      they can share the same quota, start/end dates, and other common settings.
    x-group: Campañas
  - name: Zones (All)
    description: >

      Zones represent the space on a Publisher's website where ads are displayed
      ("served"). A zone's size can either be fixed or dynamic.


      The types of zones are:
       * __Standard__ - The most common, used to serve various ads including image, HTML5/Rich Media, Native Ads or third party scripts.
       * __VAST__ - Used to serve VAST video ads.
       * __Email__ - Used to serve image ads in emails and newsletters.
    x-group: Inventario
  - name: Zones / Standard
    description: >-
      The most common zone type. Used to serve image ads (JPG,PNG, or GIF),
      HTML5/Rich Media, or third party scripts.
    x-group: Inventario
paths:
  /ad-items/image/{id}:
    get:
      tags:
        - Ad Items / Image
      summary: Get a Single Image Ad Item
      parameters:
        - name: id
          in: path
          description: Identifier of the ad item you'd like to get.
          required: true
          schema:
            type: integer
          example: ''
        - $ref: '#/components/parameters/fields'
      responses:
        default:
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/image_ad_item_get'
components:
  parameters:
    fields:
      name: fields
      in: query
      description: >-
        Restrict the fields you wish to retrieve by listing the desired fields
        formatted as a comma-separated list. Fields like "object", "self", and
        "id" are always returned.
      schema:
        type: string
  schemas:
    image_ad_item_get:
      properties:
        object:
          description: A string denoting the current resource being requested or affected.
          type: string
          example: image_ad_item
        self:
          description: >-
            The relative URL of the current resource being requested or
            affected.
          type: string
          example: /v2/ad-items/image/675265899
        id:
          description: The current resource identifier (ID).
          type: integer
          example: 675265899
      type: object
      allOf:
        - $ref: '#/components/schemas/ad_item_shared_fields'
        - $ref: '#/components/schemas/image_ad_item'
        - $ref: '#/components/schemas/ad_item_created_last_modified'
    ad_item_shared_fields:
      properties:
        name:
          description: >-
            The name of the ad item. We recommend using a naming convention that
            is descriptive, consistent, and clear.
          type: string
          example: Example Ad Item
        height:
          description: >-
            The height of the ad item in pixels. Defaults to __0__ when no
            height given. If `width` is set to a value greater than 0, a height
            must also be set to a non-zero value. A width and height both set to
            __0__ signify a "dynamic ad". Read more about dynamic ads.
          type: integer
          example: 400
        width:
          description: >-
            The width of the ad item in pixels. Defaults to __0__ when no width
            given. If `height` is set to a value greater than 0, a width must
            also be set to a non-zero value. A width and height both set to
            __0__ signify a "dynamic ad". Read more about dynamic ads.
          type: integer
          example: 650
        location:
          description: >-
            The destination URL to which the user will be redirected when they
            click on the ad item. A __null__ value denotes no redirection.
          type: string
          example: ''
        tracking_pixel:
          description: >-
            An optional third party tracking pixel served with the ad for
            monitoring impressions. A __null__ value means no tracking pixel was
            added. Use `tracking_pixels` if you want to add multiple tracking
            pixels.
              
              
            __NOTE__:  Essentials subscribers do not have access to third-party
            pixel tracking and therefore must set this field's value to
            __null__. 
          type: string
          example: https://url.com
        tracking_pixels:
          description: >-
            List of tracking pixels. An empty array means that no tracking
            pixels were added.  
              
            To create a tracking pixel, enter an object that only has the `url`
            field.  An `id` for the new tracking pixel will be sent in the
            response.  
              
            To update a tracking pixel, enter an object with the tracking
            pixel's `id` and the new `url` for the tracking pixel.  
              
            To delete a tracking pixel, enter an object with the tracking pixel
            `id` and set `url` to __null__.
          type: array
          items:
            $ref: '#/components/schemas/tracking_pixel'
          example:
            - id: 27419
              url: https://url1.com
            - id: 27420
              url: https://url2.com
        metadata:
          description: >-
            An object containing any number of metadata keys and values. Keys
            and values must be strings.
          type: object
          example:
            mobile_only: 'false'
            TNR: '15'
        trusted_redirect_domains:
          description: >-
            An array containing any number of trusted redirect domains. Values
            must always be valid domains, e.g. `example.com`, `*.example.com`,
            or custom protocols like `tel:342682346`.


            **NOTE:** This only applies to ad items which will be used in a zone
            with a 3rd party click macro implementation.
          type: object
          example:
            - example.com
            - '*.example.com'
            - tel:342682346
        is_self_serve:
          description: Whether or not this ad item is from Self-Serve.
          type: boolean
          readOnly: true
          example: false
      type: object
    image_ad_item:
      properties:
        creative:
          description: >-
            The image creative identifier (ID). Only one of `creative` or
            `creative_url` can be given in a POST, but one must be given. To
            swap an ad item to use `creative_url` instead of `creative` in a
            PUT, set `creative` to __null__.
          type: string
          example: null
        creative_url:
          description: >-
            A URL leading to an image file (PNG, JPEG, or GIF). Only one of
            `creative` or `creative_url` can be given in a POST, but one must be
            given. To swap an ad item to use `creative` instead of
            `creative_url` in a PUT, set `creative_url` to __null__.
          type: string
          example: https://ads.hakumedia.ai/default_banner.gif
        html_alt_text:
          description: >-
            Textual description of the image creative intended to be used by <a
            href='https://en.wikipedia.org/wiki/Assistive_technology'>Assistive
            Technologies</a> or if the image fails to load.
          type: string
          example: The Haku Logo
        html_target:
          description: >-
            The window/frame in which the destination URL should load when
            clicked. Leave this field as __null__ to open in the same tab.
            Another common option is __"\_blank"__ for a new window or tab, but
            <a href='https://www.w3schools.com/tags/att_a_target.asp'
            target='_blank'>many options are available</a>.
          type: string
          example: _blank
        html_content_below:
          description: The HTML content that will appear below the ad item.
          type: string
          example: <img />
      type: object
    ad_item_created_last_modified:
      properties:
        created_date:
          description: The date and time when this ad item was created.
          type: string
          format: date-time
          example: '2019-04-26 14:55:31'
        last_modified:
          description: The date and time the ad item was last modified.
          type: string
          format: date-time
          example: '2019-04-26 14:55:39'
      type: object
    tracking_pixel:
      properties:
        id:
          description: The identifier (ID) of the tracking pixel.
          type: integer
        url:
          description: The url of the tracking pixel.
          type: string
      type: object
  securitySchemes:
    API Key:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        API key en el header `Authorization: Basic TU_API_KEY`. La key va tal
        cual, sin codificar en base64. Las credenciales se entregan al comenzar
        la integración.

````