Mapp Intelligence Analytics API

The Mapp Intelligence Analytics API gives programmatic access to Mapp Intelligence (formerly Webtrekk) digital-analytics data and functions — submit analysis queries (pivot, comparison, time series, path, cross table), request reports, poll calculation status, retrieve results, list available dimensions, metrics, segments and dynamic time filters, and check monthly analysis usage. OAuth2 client-credentials against https://auth.mapp.com/oauth2/token; errors are returned as RFC 9457 problem+json.

OpenAPI Specification

mapp-intelligence-analytics-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Analytics API
  description: "OpenAPI 3.0 Specification of Mapp Intelligence AnalyticsAPI \n\n In order to use these endpoints you must\
    \ authorize by using a valid OAuth clientID configured in Mapp Intelligence Settings section."
  version: 1.0.0
  contact:
    name: Technical Support Mapp Digital
    url: https://mapp.com/tech-support/
servers:
- url: https://api.mapp.com/api/analytics
  description: Production
security:
- oauth_security_scheme:
  - mapp.intelligence-api
tags:
- name: Analysis
  description: Submit analysis and get data
- name: Available Objects
  description: Get information about available objects you can use to build Analysis
paths:
  /analysis-query/{correlationId}:
    delete:
      tags:
      - Analysis
      summary: Cancel query
      description: Abort running query, if still running
      externalDocs:
        url: https://documentation.mapp.com
      parameters:
      - name: correlationId
        in: path
        description: ID of the query to be canceled
        required: 'true'
        schema:
          type: string
      responses:
        '200':
          description: Query successfully canceled
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    get:
      tags:
      - Analysis
      summary: Get query status
      description: "Returns status of the analysis query. \n\n Once calculation is SUCCESS, result is  available and can be\
        \ retrieved by using the provided link (or calculationId)."
      externalDocs:
        url: https://documentation.mapp.com
      parameters:
      - name: correlationId
        in: path
        description: ID of the query
        required: 'true'
        schema:
          type: string
      responses:
        '200':
          description: Query status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueryState'
              examples:
                Analysis running:
                  value:
                    calculationId: 579d66fe984f72f7154c5f48e0d3d65741dac870eb337a0524d4d3db02f119b7_294915650484552
                    status: RUNNING
                    details:
                      lastUpdatedAt: '1630430823529'
                Analysis completed:
                  value:
                    calculationId: 579d66fe984f72f7154c5f48e0d3d65741dac870eb337a0524d4d3db02f119b7_294915650484552
                    status: SUCCESS
                    resultUrl: https://intelligence.eu.mapp.com/analytics/api/analysis-result/579d66fe984f72f7154c5f48e0d3d65741dac870eb337a0524d4d3db02f119b7_294915650484552
                    details:
                      lastUpdatedAt: '1630430828912'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /report-query/{reportCorrelationId}:
    delete:
      tags:
      - Analysis
      operationId: deleteReportAnalysis
      summary: Cancel report calculation query
      description: Cancel report calculation query
      parameters:
      - name: reportCorrelationId
        in: path
        required: 'true'
        schema:
          type: string
      responses:
        '500':
          description: Internal Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Problem'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: Unauthorized
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Problem'
        '422':
          description: Unprocessable Entity
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Problem'
        '200':
          description: OK
    get:
      tags:
      - Analysis
      summary: Get report calculation query state
      description: Get report calculation query state
      operationId: status
      parameters:
      - name: reportCorrelationId
        in: path
        required: 'true'
        schema:
          type: string
      responses:
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportQueryState'
              examples:
                Analysis running:
                  value:
                    reportCorrelationId: 1ea0f0c7-b05e-47e6-8d4f-e78787dfe9ac
                    status: RUNNING
                    details:
                      lastUpdatedAt: '1727114468280'
                      reportId: '1006'
                      reportTitle: Advertiser Overview
                    queryStates:
                    - calculationId: 579d66fe984f72f7154c5f48e0d3d65741dac870eb337a0524d4d3db02f119b7_294915650484552
                      accountId: '294915650484552'
                      correlationId: 1ba0f0c7-b05e-47e6-8d4f-e78787dfe9ab
                      resultUrl: https://intelligence.eu.mapp.com/analytics/api/analysis-query/1ba0f0c7-b05e-47e6-8d4f-e78787dfe9ab
                      status: RUNNING
                      details:
                        lastUpdatedAt: '1727114468280'
                        reportElementId: '43946'
                Analysis completed:
                  value:
                    reportCorrelationId: 1ea0f0c7-b05e-47e6-8d4f-e78787dfe9ac
                    status: SUCCESS
                    details:
                      lastUpdatedAt: '1727114468280'
                      reportId: '1006'
                      reportTitle: Advertiser Overview
                    queryStates:
                    - calculationId: 579d66fe984f72f7154c5f48e0d3d65741dac870eb337a0524d4d3db02f119b7_294915650484552
                      accountId: '294915650484552'
                      correlationId: 1ba0f0c7-b05e-47e6-8d4f-e78787dfe9ab
                      resultUrl: https://intelligence.eu.mapp.com/analytics/api/analysis-result/579d66fe984f72f7154c5f48e0d3d65741dac870eb337a0524d4d3db02f119b7_294915650484552
                      status: SUCCESS
                      details:
                        lastUpdatedAt: '1727114468280'
                        reportElementId: '43946'
  /analysis-query:
    post:
      tags:
      - Analysis
      summary: Create calculation query
      description: "Create a calculation query. \n\n Response will be either \n+ 200 if the result is already available and\
        \ can be retrieved by using the provided link (or calculationId) \n+ 201 if the calculation is being queued. Status\
        \ can be polled by using the provided link (or correlationId)."
      externalDocs:
        url: https://documentation.mapp.com
      requestBody:
        description: Analytics Request Format
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AnalysisQuery'
            examples:
              Pivot:
                $ref: '#/components/examples/analysisQueryPivot'
              Comparison:
                $ref: '#/components/examples/analysisQueryComparison'
              TimeSeries:
                $ref: '#/components/examples/analysisQueryTimeSeries'
              Path:
                $ref: '#/components/examples/analysisPath'
              CrossTable:
                $ref: '#/components/examples/analysisCrossTable'
      responses:
        '200':
          description: Analysis completed
          content:
            application/json:
              schema:
                properties:
                  calculationId:
                    type: string
                  resultUrl:
                    type: string
              examples:
                Calculated data available:
                  value:
                    calculationId: 8612fa1eaada53fbb1956402bbded4db732074e7e399645880ae6a54b99a2bd9_294915650484552
                    resultUrl: https://intelligence.eu.mapp.com/analytics/api/analysis-result/8612fa1eaada53fbb1956402bbded4db732074e7e399645880ae6a54b99a2bd9_294915650484552
        '201':
          description: Analysis enqueued
          content:
            application/json:
              schema:
                properties:
                  correlationId:
                    type: string
                  statusUrl:
                    type: string
              examples:
                Query enqueued:
                  value:
                    correlationId: 94295cef-5b64-4934-ba25-011dd997aa81
                    statusUrl: https://intelligence.eu.mapp.com/analytics/api/analysis-query/94295cef-5b64-4934-ba25-011dd997aa81
        '403':
          $ref: '#/components/responses/Forbidden'
        '422':
          description: Invalid JSON input
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
  /report-query:
    post:
      tags:
      - Analysis
      summary: Create report calculation query
      description: Create multiple calculation queries, also known as a report.
      operationId: createReportQuery
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReportQueryRequest'
            examples:
              ANALYSIS:
                $ref: '#/components/examples/reportQueryObject'
        required: 'true'
      responses:
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Internal Server Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Problem'
        '422':
          description: Unprocessable Entity
          content:
            '*/*':
              schema:
                type: object
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Problem'
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ReportQueryState'
  /analysis-result/{calculationId}:
    get:
      tags:
      - Analysis
      summary: Get analysis result
      description: Retrieve the analysis data.
      externalDocs:
        url: https://documentation.mapp.com
      parameters:
      - name: calculationId
        in: path
        description: ID of the calculated Data
        required: 'true'
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnalysisResult'
              examples:
                Simple analysis result:
                  $ref: '#/components/examples/analysisResultExample'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /analysis-usage/current:
    get:
      tags:
      - Analysis
      summary: Get number of analysis done for current month
      description: Get number of analysis done for current month
      externalDocs:
        url: https://documentation.mapp.com
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnalysisUsage'
              examples:
                AnalysisUsage:
                  value:
                    calculationsCount: '4012'
                    maxCalculationsAllowed: '310000'
                    month: '1'
                    year: '2022'
        '403':
          $ref: '#/components/responses/Forbidden'
  /query-objects:
    get:
      tags:
      - Available Objects
      summary: List all available dimensions and metrics
      description: List all available dimensions and metrics
      externalDocs:
        url: https://documentation.mapp.com
      parameters:
      - name: language
        in: query
        description: "Optional standard ISO-639-1 language code for translation (when applicable).\n\nOnly \"de\" and \"en\"\
          \ supported for the moment. \n\nDefault is  \"en\""
        required: 'false'
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueryObjects'
              examples:
                Query Objects:
                  $ref: '#/components/examples/queryObjectExample'
        '403':
          $ref: '#/components/responses/Forbidden'
  /dynamic-timefilters:
    get:
      tags:
      - Available Objects
      summary: List all available dynamic timefilters
      description: List all available dynamic timefilter value.
      externalDocs:
        url: https://documentation.mapp.com
      parameters:
      - name: language
        in: query
        description: "Optional standard ISO-639-1 language code for translation (when applicable).\n\nOnly \"de\" and \"en\"\
          \ supported for the moment. \n\nDefault is  \"en\""
        required: 'false'
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DynamicTimeFilterDefinition'
              examples:
                DynamicTimeFilters:
                  value:
                  - title: Today
                    name: today
                    dynamicFilter:
                      name: time_dynamic
                      connector: AND
                      filterPredicate: LIKE
                      value1: today
                      value2: ''
                      context: NONE
                  - title: Today, 7 days ago
                    name: before_7_days
                    dynamicFilter:
                      name: time_dynamic
                      connector: AND
                      filterPredicate: LIKE
                      value1: before_7_days
                      value2: ''
                      context: NONE
                  - title: Today, 14 days ago
                    name: before_14_days
                    dynamicFilter:
                      name: time_dynamic
                      connector: AND
                      filterPredicate: LIKE
                      value1: before_14_days
                      value2: ''
                      context: NONE
        '403':
          $ref: '#/components/responses/Forbidden'
  /segments:
    get:
      tags:
      - Available Objects
      summary: List all available segments
      description: List all available segments
      externalDocs:
        url: https://documentation.mapp.com
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SegmentDefinition'
              examples:
                Segments:
                  value:
                  - id: '67'
                    title: Social media Visitor
                    description: Visitor which came from Social Media
                  - id: '95'
                    title: Returning Visitor
                    description: User with at least 5 Visits
        '403':
          $ref: '#/components/responses/Forbidden'
components:
  responses:
    Forbidden:
      description: No permission to execute operation
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Problem'
          examples:
            AnalysisNotFound:
              summary: Invalid Token
              value:
                title: Invalid Token
                status: '403'
                detail: Token not valid
                statusCode: INVALID_TOKEN
    NotFound:
      description: Entity not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Problem'
          examples:
            AnalysisNotFound:
              summary: CorrelationId does not exist
              value:
                title: Analysis not found
                status: '404'
                detail: Analysis not found
                statusCode: ANALYSIS_NOT_FOUND
  securitySchemes:
    oauth_security_scheme:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://auth.mapp.com/oauth2/token
  schemas:
    Problem:
      type: object
      properties:
        status:
          type: integer
          description: HTTP Status Code
        statusCode:
          type: string
          description: Specific Mapp Error Code
        title:
          type: string
          description: Short description of the problem
        detail:
          type: string
          description: Detailed informations about the problem
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
        warnings:
          type: array
          items:
            $ref: '#/components/schemas/Warning'
    Error:
      type: object
      properties:
        name:
          type: string
          description: 'Each error has specific properties described in following table:


            | Error| Description | Relevant parameters |

            | ---------------- | ------------| -----------------------------------|

            | UnmappedName | At least one object name cannot be found. | List of objects not found in _names_ array. |

            | PivotIncompatibleMetric | Metric not usable in Pivot detected.| List of incompatible Metrics in _names_ array.
            |

            | PivotIncompatibleDimension |Dimension not usable in Pivot detected. | List of incompatible Dimensions in _names_
            array. |

            | AnalysisLogicalCubeMismatch | All Dimensions and Metrics are not compatible. | List of incompatible objects
            in _names_ array. |

            | InvalidSortingCriteria | Sorting is applied on a non-sortable object.| List of invalid sorted objects in _names_
            array. |

            | TimeFilterMissing | Each query must have a minimum of one Time Filter.| N/A |

            | InvalidSegmentNoneContainer | A segment container has context set to NONE but either its connector is not set
            to AND or its inOrNotIn property is not set to IN.| N/A |'
          enum:
          - UnmappedName
          - PivotIncompatibleMetric
          - PivotIncompatibleDimension
          - AnalysisLogicalCubeMismatch
          - InvalidSortingCriteria
          - TimeFilterMissing
          - InvalidSegmentNoneContainer
        parameters:
          type: object
          properties:
            arrangeTypes:
              type: array
              description: List of internal object names (dimension, metrics, filter, ...) that corresponds to the error.
              items:
                type: string
            aliases:
              type: array
              description: List of columns aliases that corresponds to the error. See Result Header alias property.
              items:
                type: string
            names:
              type: array
              description: List of object names (dimension, metrics, filter, ...) that corresponds to the error.
              items:
                type: string
    Warning:
      type: object
      properties:
        name:
          type: string
          description: 'Each warnings has specific properties described in following table:


            | Warning| Description | Relevant parameters |

            | ---------------- | ------------| -----------------------------------|

            | FilterLogicalCubeMismatch | At least one filter is ignored due to incompatibily with Dimensions and Metrics
            used. | List of incomptible filter objects in _names_ array. |

            | InvalidMetricContext | Metric used in an invalid context. | List of metric with invalid context in _aliases_
            array. |

            | SortingEnforced |  Sorting criteria has been added automatically | List of objects that were sorted automatically
            in _aliases_ array. |

            | NoSortingDefined |  Sorting criteria is required for some dimensions. | List of dimensions requiring a sorting
            in _names_ array. |

            | SortingLimitExceeded | 3 sorting criteria are allowed. All additional sorting criteria have been omitted.| List
            of columns ignored for sorting in _aliases_ array. |

            | SortingRemoved | A requested sorting criteria has been removed | List of objects that were removed automatically
            in _aliases_ array. |

            | TodayRemoved | Today date has been removed from calculation time range because the selected datasource does
            not contain it. | daysInDataSource, todayDate|'
          enum:
          - FilterLogicalCubeMismatch
          - InvalidMetricContext
          - SortingEnforced
          - NoSortingDefined
          - SortingLimitExceeded
          - SortingRemoved
          - TodayRemoved
        parameters:
          type: object
          properties:
            arrangeTypes:
              type: array
              description: List of internal object names (dimension, metrics, filter, ...) that corresponds to the warning.
              items:
                type: string
            aliases:
              type: array
              description: List of columns aliases that corresponds to the error. See Result Header alias property.
              items:
                type: string
            names:
              type: array
              description: List of object names (dimension, metrics, filter, ...) that corresponds to the warning.
              items:
                type: string
            daysInDataSource:
              type: string
              description: Number of days in the datasource which is beeing cut
            todayDate:
              type: string
              description: Date of the day being cut
    AnalysisQuery:
      type: object
      description: Defintiona of a anaylsis query structure
      properties:
        resultType:
          type: string
          description: Type of result
          enum:
          - DATA_ONLY
        queryObject:
          description: Different type of queries are possible
          oneOf:
          - $ref: '#/components/schemas/TableQuery'
          - $ref: '#/components/schemas/KpiQuery'
      required:
      - resultType
      - queryObject
    TableQuery:
      type: object
      description: Tabular query definition
      properties:
        columns:
          type: array
          description: Array of columns
          items:
            type: object
            properties:
              name:
                type: string
              sortDirection:
                $ref: '#/components/schemas/SortDirectionEnum'
              sortIndex:
                type: integer
                description: Indicates order of sorting when there is more than one sorting column. (starting from 0).
              lowerLimit:
                type: integer
              upperLimit:
                type: integer
              inTimeSeries:
                type: boolean
                description: Optional property indicating if a column will be used in time series view mode; defaults to false.
                  Can be omitted if it's value is not set to true.
              columnPeriod:
                $ref: '#/components/schemas/ColumnPeriodEnum'
              scope:
                $ref: '#/components/schemas/ScopeEnum'
              context:
                $ref: '#/components/schemas/ContextEnum'
              predefinedContainer:
                $ref: '#/components/schemas/Container'
        variant:
          type: string
          description: Type of Data Structure
          enum:
          - LIST
          - PIVOT
          - PIVOT_AS_LIST
          - COMPARISON
        predefinedContainer:
          $ref: '#/components/schemas/Container'
        predefinedSegmentConnections:
          type: array
          items:
            $ref: '#/components/schemas/Filter'
        viewMode:
          $ref: '#/components/schemas/ViewMode'
      required:
      - columns
      - variant
      - predefinedContainer
    KpiQuery:
      type: object
      description: KPI query definition
      properties:
        elementPeriod:
          type: string
          description: 'One of the following periods should be used:

            * ELEMENT: when the time filter is either inherited from the report or the time filter configured in the report
            element configuration.

            * MONAD: when the time filter is inherited from the custom metric configuration.'
          enum:
          - ELEMENT
          - MONAD
        type:
          type: string
          description: Type of the query
          enum:
          - KPI
          - SPARKLINE
        metricName:
          type: string
          description: name of the metric of the KPI
        dimensionName:
          type: string
          description: name of the dimension of the KPI
        comparison:
          $ref: '#/components/schemas/Comparison'
        predefinedContainer:
          $ref: '#/components/schemas/Container'
        predefinedSegmentConnections:
          type: array
          items:
            $ref: '#/components/schemas/Filter'
    SortDirectionEnum:
      type: string
      description: Possible sorting directions
      enum:
      - ASCENDING
      - DESCENDING
    ColumnPeriodEnum:
      type: string
      description: 'Indicates which Time range must be used for the column. ANALYSIS: uses the analysis time range. COLUMN:
        uses the time filter defined inside the column. ELEMENT: uses the time filter defined inside the element configuration
        - i.e. custom metric/formula'
      enum:
      - ANALYSIS
      - COLUMN
      - ELEMENT
    ScopeEnum:
      type: string
      enum:
      - OBJECT
      - NONE
    ContextEnum:
      type: string
      description: Context to evaluate the metric/dimension. If context property is not given or empty the default context
        of the object will be used. The default context can be identified from the context property in the response list of
        /query-objects.
      enum:
      - VISITOR
      - SESSION
      - PAGE
      - ACTION
      - ATOMIC
      - NONE
    Container:
      type: object
      properties:
        filters:
          type: array
          description: Array of filters
          items:
            $ref: '#/components/schemas/Filter'
        containers:
          type: array
          description: array of containers (recursion)
          items:
            $ref: '#/components/schemas/Container'
        connector:
          $ref: '#/components/schemas/ConnectorPredicateEnum'
        context:
          $ref: '#/components/schemas/ContextEnum'
        type:
          description: Indicates how filters must be applied. TIME_ORDER is sequential, NORMAL not
          type: string
          enum:
          - NORMAL
          - TIME_ORDER
        inOrNotIn:
          $ref: '#/components/schemas/InOrNotInPredicateEnum'
    Filter:
      type: object
      properties:
        name:
          type: string
          description: Name of the Metric or Dimension being filtered.
        filterPredicate:
          $ref: '#/components/schemas/FilterPredicateEnum'
        connector:
          $ref: '#/components/schemas/ConnectorPredicateEnum'
        caseSensitive:
          type: boolean
        context:
          $ref: '#/components/schemas/ContextEnum'
        intern:
          type: boolean
          description: Indicates if filter should be prioritized (Advanced).
          default: 'false'
        value1:
          type: string
        value2:
          type: string
        values1:
          type: array
          description: Array of values
          items:
            type: string
        values2:
          type: array
          description: Array of values
          items:
            type: string
    ViewMode:
      type: object
      properties:
        active:
          type: string
          enum:
          - comparison
          - timeSeries
          - path
          - crossTable
        comparison:
          type: object
          properties:
            type:
              type: string
              description: type of comparison. It can be either on *time* or *segment*. The corresponding properties must
                be filled accordingly in *values* and *sorting*
              enum:
              - time
              - segment
            values:
              type: object
              properties:
                time:
                  type: array
                  items:
                    $ref: '#/components/schemas/Filter'
                segment:
                  type: array
                  items:
                    $ref: '#/components/schemas/SegmentContainer'
            sorting:
              type: object
              properties:
                time:
                  type: array
                  items:
                    $ref: '#/components/schemas/ViewModeComparisonSortingItem'
                segment:
                  type: array
                  items:
                    $ref: '#/components/schemas/ViewModeComparisonSortingItem'
        timeSeries:
          type: object
          properties:
            timeName:
              type: string
              description: The name of the time dimension used in the time series - i.e. "time_days" for days.
            viewType:
              type: string
              description: The type of the time series view mode. Set "top" for time series of the top "x" number of objects.
                Set "values" based on specific object values populated in the values list of this configuration.
              enum:
              - top
              - values
            top:
              type: integer
              description: The number of top objects the time series is build upon.
            values:
              type: array
              description: A list of object values - i.e. ["Seach", "Cart", "Home"] for object "pages".
              items:
                type: string
        path:
          type: object
          properties:
            metricName:
              type: string
              description: The name of the metric used in the path analysis - i.e. "visits".
            dimensionContext:
              type: string
              description: The context in which the dimension for the path analysis is evaluated.
              enum:
              - VISITOR
              - SESSION
              - PAGE
              - ACTION
              - ATOMIC
              - NONE
            reverse:
              type: boolean
              description: Whether the path analysis should be performed in reverse order.
            distinct:
              type: boolean
              description: Whether to count only unique paths in the analysis.
            pathLength:
              type: integer
              description: The maximum number of steps to include in the path analysis.
        crossTable:
          type: object
          properties:
            metricName:
              type: string
              description: The name of the metric used for values in the cross table analysis - i.e. "pages_pageImpressions".
            crossDimensionName:
              type: string
              description: The name of the dimension used for the cross-analysis - i.e. "b

# --- truncated at 32 KB (74 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mapp/refs/heads/main/openapi/mapp-intelligence-analytics-openapi.yml