# List banners for a contact

Returns the banners a contact currently matches, so you can display them on
surfaces outside the Messenger (native mobile apps, kiosks, embedded tools).
Each banner in the response includes a `view_id`. Use it to record a dismissal
with the dismiss endpoint. A returned banner is treated as shown: requesting
this endpoint records an impression for each banner returned, so call it at the
point you are about to display the banners, not speculatively.

Endpoint: GET /contacts/{id}/banners
Version: 2.16
Security: bearerAuth

## Path parameters:

  - `id` (string, required)
    The unique identifier of a contact.

## Header parameters:

  - `Intercom-Version` (string)

## Response 200 fields (application/json):

  - `type` (string)
    String representing the object's type. Always has the value `list`.
    Example: list

  - `data` (array)
    An array of banners.

  - `data.type` (string)
    String representing the object's type. Always has the value `banner`.
    Example: banner

  - `data.id` (string)
    The id of the banner.
    Example: 486517

  - `data.view_id` (string)
    The id of the contact's view of this banner. Pass this to the dismiss endpoint to record a dismissal.
    Example: 645719311

  - `data.title` (string)
    The banner's title. `null` when the banner has no title.
    Example: Hi there

  - `data.body` (string)
    The banner's body content as HTML.
    Example: <p class="no-margin">Hi there!</p>

  - `data.style` (string)
    How the banner is displayed.
    Example: inline

  - `data.position` (string)
    Where the banner is positioned.
    Example: top

  - `data.show_dismiss_button` (boolean)
    Whether the banner should display a dismiss control.
    Example: true

  - `data.action` (object)
    The action a contact can take on the banner, or `null` when the banner has
no action. The fields present depend on `type`:
`url` (`label`, `target`), `reaction` (`reaction_set`),
`email_collector`, or `product_tour` (`tour_id`, `tour_url`).

  - `data.action.type` (string)
    The kind of action. One of `url`, `reaction`, `email_collector`, or `product_tour`.
    Example: url

  - `data.action.label` (string)
    For `url` actions, the label shown on the action link or button.
    Example: Learn more

  - `data.action.target` (string)
    For `url` actions, the URL the contact is sent to.
    Example: https://www.intercom.com/pricing

  - `data.action.reaction_set` (array)
    For `reaction` actions, the reactions a contact can choose from.

  - `data.action.reaction_set.index` (integer)
    The reaction's position in the set.
    Example: 0

  - `data.action.reaction_set.unicode_emoticon` (string)
    The reaction's unicode emoji.
    Example: 👍

  - `data.action.tour_id` (string)
    For `product_tour` actions, the id of the product tour to launch.
    Example: 12345

  - `data.action.tour_url` (string)
    For `product_tour` actions, the URL that launches the product tour.
    Example: https://app.intercom.com/tours/12345

  - `data.client_targeting` (array)
    Reserved for future use. Always `null` in the current version — banners
that depend on client-side targeting rules (such as page URL or time on
page) are not returned by this endpoint.

  - `data.created_at` (integer)
    The time the contact's view of this banner was created.
    Example: 1780580493

## Response 404 fields (application/json):

  - `type` (string, required)
    The type is error.list
    Example: error.list

  - `request_id` (string)
    Example: f93ecfa8-d08a-4325-8694-89aeb89c8f85

  - `errors` (array, required)
    An array of one or more error objects

  - `errors.code` (string, required)
    A string indicating the kind of error, used to further qualify the HTTP response code
    Example: unauthorized

  - `errors.message` (string)
    Optional. Human readable description of the error.
    Example: Access Token Invalid

  - `errors.field` (string)
    Optional. Used to identify a particular field or query parameter that was in error.
    Example: email

