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

# /integration/:id/preview

> Preview how unsaved settings would change an integration’s figures for one mapped platform ID. Returns before/after totals; nothing is saved. Only works for modules that support previews (currently Google Analytics).



## OpenAPI

````yaml /openapi.json post /v1/integration/{id}/preview
openapi: 3.0.1
info:
  title: CI Public API
  description: >-
    # Introduction

    Welcome to the Content Ignite API. A central place for all Content Ignite
    functionality. 


    This API enforces a separation between function and form, meaning anything
    you can do in our platforms can be replicated in your own bespoke solution.


    # Authentication

    Authentication is handled via JWTs. You can retrieve your unique JSON Web
    Token from the settings page in the platform, which needs to be passed in
    with every request.

    To do this, simple include it in an Authorization header with the "Bearer"
    key word.


    Please contact support for help getting started.


    # Error Codes

    This is a fully RESTful API, so prepare for a number of different HTTP
    status codes.


    There is also a standard "success" field returned for each request. This
    boolean value can provide a first check against a response.


    # Rate limit

    We reserve the right to block requests if we deem a client to be abusing the
    API.
  version: 1.0.0
servers:
  - url: https://api.tagdeliver.com
    description: Production
security: []
tags:
  - name: Reporting
  - name: Reporting/Revenue Reports
  - name: Reporting/Experiment Reporting
  - name: Reporting/Campaign Reports
  - name: Reporting/Health Check
  - name: Reporting/Ads.txt
  - name: Reporting/Utility
  - name: Reporting/Insights Hub
  - name: Reporting/Insights Hub/SSP Insights
  - name: Reporting/Insights Hub/Core Web Vitals
  - name: Reporting/Insights Hub/Ads.txt Insights
  - name: Reporting/Insights Hub/Live Insights
  - name: Reporting/Insights Hub/Metrics
  - name: Reporting/Insights Hub/Diagnostics
  - name: Reporting/Insights Hub/Revenue Insights
  - name: Reporting/Insights Hub/Revenue Analytics
  - name: Reporting/Insights Hub/Demand Mix
  - name: Reporting/Insights Hub/Benchmarking
  - name: Organisation
  - name: Organisation/Organisation Meta
  - name: Organisation/Pricing
  - name: Ad Stack
  - name: Ad Stack/Integration
  - name: Publisher
  - name: Publisher/Publisher Stack
  - name: Publisher/Publisher Tag
  - name: Publisher/Publisher Meta
  - name: Publisher/Experiment
  - name: Publisher/Config (Ad unit)
  - name: Publisher/App Placement
  - name: Billing
  - name: Billing/Invoice
  - name: '[IN PROGRESS] Integration'
  - name: '[IN PROGRESS] Integration/Mapping'
  - name: '[IN PROGRESS] User'
  - name: '[IN PROGRESS] User/Account'
  - name: public
paths:
  /v1/integration/{id}/preview:
    post:
      tags:
        - '[IN PROGRESS] Integration'
        - public
      summary: /integration/:id/preview
      description: >-
        Preview how unsaved settings would change an integration’s figures for
        one mapped platform ID. Returns before/after totals; nothing is saved.
        Only works for modules that support previews (currently Google
        Analytics).
      parameters:
        - name: id
          in: path
          description: Integration ID, Encoded (base-36)
          required: true
          example: abc123
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - platform_id
              properties:
                platform_id:
                  type: string
                  description: >-
                    Mapped platform ID to preview against. GA: numeric GA4
                    property ID
                settings:
                  type: object
                  description: Unsaved integration settings to preview
                  properties:
                    publisher_own_domain:
                      type: boolean
                      description: >-
                        GA: only count traffic on the mapped publishers' own
                        domains (www. included)
                    traffic_filters:
                      type: array
                      description: >-
                        GA: up to 25 rules. Traffic matching any rule is
                        excluded
                      items:
                        type: object
                        required:
                          - dimension
                          - values
                        properties:
                          dimension:
                            type: string
                            enum:
                              - sessionSource
                              - sessionMedium
                              - sessionCampaignName
                              - hostName
                            description: GA dimension to match on
                          match:
                            type: string
                            enum:
                              - exact
                              - contains
                              - begins_with
                              - ends_with
                              - regex
                            description: Match type. Defaults to exact
                          values:
                            type: array
                            items:
                              type: string
                            description: >-
                              Up to 100 values, 256 characters max each. A regex
                              rule takes one pattern
                          property_ids:
                            type: array
                            items:
                              type: string
                            description: >-
                              Limit the rule to these property IDs. Leave empty
                              to apply to all
                start:
                  type: string
                  description: YYYY-MM-DD. Defaults to 6 days before end
                end:
                  type: string
                  description: YYYY-MM-DD. Defaults to yesterday
            example:
              platform_id: '123456789'
              settings:
                publisher_own_domain: true
                traffic_filters:
                  - dimension: sessionSource
                    match: contains
                    values:
                      - example-aggregator.com
                      - example-reader
              start: '2026-10-06'
              end: '2026-10-12'
      responses:
        '200':
          description: Before/after preview results
          content:
            application/json:
              schema:
                type: object
                required:
                  - results
                  - success
                properties:
                  results:
                    type: object
                    properties:
                      columns:
                        type: object
                        description: Column labels
                        properties:
                          before:
                            type: string
                          after:
                            type: string
                          change:
                            type: string
                      rows:
                        type: array
                        description: >-
                          Metric totals without settings (before) and with the
                          posted settings (after)
                        items:
                          type: object
                          properties:
                            label:
                              type: string
                            before:
                              type: integer
                            after:
                              type: integer
                      notes:
                        type: array
                        items:
                          type: string
                        description: Information lines, e.g. domain scope
                      list:
                        type: object
                        description: Top matched traffic
                        properties:
                          title:
                            type: string
                          empty:
                            type: string
                            description: Message shown when items is empty
                          total:
                            type: integer
                            description: Denominator for share %
                          items:
                            type: array
                            description: Up to 10, sorted by value descending
                            items:
                              type: object
                              properties:
                                label:
                                  type: string
                                value:
                                  type: integer
                  success:
                    type: boolean
              example:
                results:
                  columns:
                    before: Before
                    after: After
                    change: Excluded
                  rows:
                    - label: Page views
                      before: 1250000
                      after: 1020000
                    - label: Sessions
                      before: 910000
                      after: 700000
                    - label: Users
                      before: 840000
                      after: 650000
                  notes:
                    - Only counting traffic on example.com (www. included).
                  list:
                    title: 'Top matched excluded traffic (share of all page views):'
                    empty: >-
                      No traffic in this period matches the filters you've set
                      above.
                    total: 1250000
                    items:
                      - label: example-aggregator.com
                        value: 210000
                      - label: example-reader
                        value: 1600
                success: true
          headers: {}
        '400':
          description: >-
            Unsupported module, invalid dates, invalid settings, or the preview
            request to the platform failed
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                  - success
                properties:
                  message:
                    type: string
                    description: Error message
                  success:
                    type: boolean
                    description: Always false
              example:
                message: A numeric property ID is required
                success: false
          headers: {}
        '403':
          description: >-
            User doesn’t have integration edit permission for this integration’s
            organisation
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                  - success
                properties:
                  message:
                    type: string
                    description: Error message
                  success:
                    type: boolean
                    description: Always false
              example:
                message: User forbidden
                success: false
          headers: {}
        '404':
          description: Integration doesn’t exist or isn’t visible to the user
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                  - success
                properties:
                  message:
                    type: string
                    description: Error message
                  success:
                    type: boolean
                    description: Always false
              example:
                message: Not Found
                success: false
          headers: {}
      deprecated: false
      security: []

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.