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

# Make one or multiple queries to CubeJS API
and format result



## OpenAPI

````yaml https://openapi.production.reelevant.io/v1/render/statistics post /query
openapi: 3.0.0
info:
  title: statistics
  version: 1276740a176d654cb1c3e602b6648d22e3bf52a9
  description: >-
    # Errors

    | Error code | Message | HTTP status code | Payload |

    | :--- | :--- | :--- | :--- |

    |
    9000,9001,9002,9003,9004,9006,9007,9008,9009,9010,9011,9012,9013,9014,9015,9016,9017
    | A tag key with this name already exists | 409 | ```{"name":"string"}``` |
servers:
  - url: https://api.reelevant.com/v2/statistics/
    description: production
security: []
paths:
  /query:
    post:
      tags: []
      summary: |-
        Make one or multiple queries to CubeJS API
        and format result
      operationId: query
      parameters:
        - name: format
          in: query
          schema:
            oneOf:
              - type: string
                enum:
                  - csv
              - type: string
                enum:
                  - raw
              - type: string
                enum:
                  - table
            default: raw
          required: false
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/Query'
                - type: object
                  properties:
                    attributionOverride:
                      $ref: '#/components/schemas/AttributionDefinition'
                  additionalProperties: false
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      status:
                        type: string
                        enum:
                          - success
                    required:
                      - status
                    additionalProperties: false
                  - $ref: >-
                      #/components/schemas/InternalResponse_Union_string_QueryResult_Array_Record
      security:
        - password_auth: []
components:
  schemas:
    Query:
      type: object
      properties:
        measures:
          type: array
          items:
            type: string
          description: List of measure id
        dimensions:
          type: array
          items:
            type: string
          description: List of dimension id
        filters:
          type: array
          items:
            $ref: '#/components/schemas/BinaryFilter'
          description: |-
            CubeJS filters on dimension values
            Note: It's not possible to filter on virtual measures
        timeDimensions:
          type: array
          items:
            oneOf:
              - allOf:
                  - $ref: '#/components/schemas/TimeDimensionBase'
                  - $ref: '#/components/schemas/TimeDimensionComparisonFields'
              - allOf:
                  - $ref: '#/components/schemas/TimeDimensionBase'
                  - $ref: '#/components/schemas/TimeDimensionRangedFields'
          description: Time filters
        limit:
          type: number
        order:
          oneOf:
            - $ref: '#/components/schemas/TQueryOrderObject'
            - type: array
              items:
                type: array
                items:
                  oneOf:
                    - type: string
                    - oneOf:
                        - type: string
                          enum:
                            - asc
                        - type: string
                          enum:
                            - desc
      required:
        - measures
        - dimensions
        - filters
        - timeDimensions
      additionalProperties: false
    AttributionDefinition:
      type: object
      properties:
        dataset:
          $ref: '#/components/schemas/AttributionDataset'
        source:
          $ref: '#/components/schemas/AttributionSource'
        utm:
          $ref: '#/components/schemas/AttributionUtmDefinition'
        conversionChannels:
          type: array
          items:
            $ref: '#/components/schemas/AttributionConversionChannel'
        model:
          $ref: '#/components/schemas/AttributionModel'
        method:
          $ref: '#/components/schemas/AttributionMethod'
        events:
          $ref: '#/components/schemas/AttributionEventsDefinition'
      required:
        - dataset
        - method
      additionalProperties: false
    InternalResponse_Union_string_QueryResult_Array_Record:
      type: object
      properties:
        program:
          type: string
        version:
          type: string
        datetime:
          type: string
        status:
          type: string
        code:
          type: number
        message:
          type: string
        data:
          oneOf:
            - type: string
            - $ref: '#/components/schemas/QueryResult'
            - type: array
              items:
                type: object
                properties: {}
                additionalProperties:
                  type: object
                  properties:
                    value:
                      oneOf:
                        - type: string
                        - type: number
                        - type: boolean
                          enum:
                            - 'false'
                        - type: boolean
                          enum:
                            - 'true'
                      nullable: true
                    metadata:
                      oneOf:
                        - type: object
                          properties:
                            link:
                              type: string
                              description: >-
                                Some dimension could link to something

                                (e.g. a workflow, an executed branch on a
                                workflow)
                            formattedValue:
                              type: string
                              description: >-
                                Some dimension could be formatted (e.g. an
                                executed branch),

                                it would be the formatted value here
                          additionalProperties: false
                        - type: object
                          properties:
                            calculation:
                              type: array
                              items:
                                oneOf:
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - number
                                      value:
                                        type: number
                                      unit:
                                        oneOf:
                                          - type: string
                                            enum:
                                              - currency
                                          - type: string
                                            enum:
                                              - percent
                                    required:
                                      - type
                                      - value
                                    additionalProperties: false
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - scope
                                      value:
                                        oneOf:
                                          - type: string
                                            enum:
                                              - (
                                          - type: string
                                            enum:
                                              - )
                                    required:
                                      - type
                                      - value
                                    additionalProperties: false
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - operator
                                      value:
                                        oneOf:
                                          - type: string
                                            enum:
                                              - /
                                          - type: string
                                            enum:
                                              - ×
                                          - type: string
                                            enum:
                                              - '-'
                                          - type: string
                                            enum:
                                              - +
                                    required:
                                      - type
                                      - value
                                    additionalProperties: false
                          additionalProperties: false
                  required:
                    - value
                    - metadata
                  additionalProperties: false
      required:
        - program
        - version
        - datetime
        - status
        - message
        - data
      additionalProperties: false
    BinaryFilter:
      type: object
      properties:
        dimension:
          type: string
        member:
          type: string
        operator:
          oneOf:
            - type: string
              enum:
                - equals
            - type: string
              enum:
                - notEquals
            - type: string
              enum:
                - contains
            - type: string
              enum:
                - notContains
            - type: string
              enum:
                - startsWith
            - type: string
              enum:
                - notStartsWith
            - type: string
              enum:
                - endsWith
            - type: string
              enum:
                - notEndsWith
            - type: string
              enum:
                - gt
            - type: string
              enum:
                - gte
            - type: string
              enum:
                - lt
            - type: string
              enum:
                - lte
            - type: string
              enum:
                - inDateRange
            - type: string
              enum:
                - notInDateRange
            - type: string
              enum:
                - beforeDate
            - type: string
              enum:
                - beforeOrOnDate
            - type: string
              enum:
                - afterDate
            - type: string
              enum:
                - afterOrOnDate
        values:
          type: array
          items:
            type: string
      required:
        - operator
        - values
      additionalProperties: false
    TimeDimensionBase:
      type: object
      properties:
        dimension:
          type: string
        granularity:
          type: string
      required:
        - dimension
      additionalProperties: false
    TimeDimensionComparisonFields:
      type: object
      properties:
        compareDateRange:
          type: array
          items:
            oneOf:
              - type: string
              - type: array
                items:
                  oneOf:
                    - type: string
                    - type: string
      required:
        - compareDateRange
      additionalProperties: false
    TimeDimensionRangedFields:
      type: object
      properties:
        dateRange:
          oneOf:
            - type: string
            - type: array
              items:
                oneOf:
                  - type: string
                  - type: string
      additionalProperties: false
    TQueryOrderObject:
      type: object
      properties: {}
      additionalProperties:
        oneOf:
          - type: string
            enum:
              - asc
          - type: string
            enum:
              - desc
    AttributionDataset:
      type: string
      enum:
        - web-tracking
        - customer-purchases
    AttributionSource:
      type: string
      enum:
        - reelevant
        - utm
    AttributionUtmDefinition:
      type: object
      properties:
        fields:
          type: array
          items:
            $ref: '#/components/schemas/AttributionUtmField'
          minItems: 1
        period:
          type: number
          minimum: 1
      additionalProperties: false
    AttributionConversionChannel:
      type: object
      properties:
        channel:
          type: string
        interactions:
          type: array
          items:
            $ref: '#/components/schemas/AttributionInteractionWindow'
          minItems: 1
      required:
        - channel
        - interactions
      additionalProperties: false
    AttributionModel:
      type: string
      enum:
        - last-touch
        - linear
        - decay
        - incremental
    AttributionMethod:
      type: string
      enum:
        - default
        - sameReferenceId
    AttributionEventsDefinition:
      type: object
      properties:
        steps:
          type: array
          items:
            $ref: '#/components/schemas/AttributionFunnelStep'
          minItems: 1
      required:
        - steps
      additionalProperties: false
    QueryResult:
      type: object
      properties:
        series:
          type: array
          items:
            $ref: '#/components/schemas/Serie'
          description: |-
            When querying a dimension, we will get 1 serie per dimension value.
            Otherwise, we will have only 1 serie
      required:
        - series
      additionalProperties: false
    AttributionUtmField:
      type: string
      enum:
        - source
        - medium
        - campaign
        - term
        - content
    AttributionInteractionWindow:
      type: object
      properties:
        interactionType:
          $ref: '#/components/schemas/AttributionInteractionType'
        period:
          type: number
          minimum: 1
      required:
        - interactionType
      additionalProperties: false
    AttributionFunnelStep:
      type: object
      properties:
        name:
          type: string
        events:
          type: array
          items:
            type: string
          minItems: 1
      required:
        - name
        - events
      additionalProperties: false
    Serie:
      type: object
      properties:
        dimensions:
          type: object
          properties: {}
          additionalProperties:
            type: object
            properties:
              id:
                type: string
              value:
                oneOf:
                  - type: string
                  - type: number
                  - type: boolean
                    enum:
                      - 'false'
                  - type: boolean
                    enum:
                      - 'true'
                nullable: true
              metadata:
                type: object
                properties:
                  link:
                    type: string
                    description: |-
                      Some dimension could link to something
                      (e.g. a workflow, an executed branch on a workflow)
                  formattedValue:
                    type: string
                    description: >-
                      Some dimension could be formatted (e.g. an executed
                      branch),

                      it would be the formatted value here
                additionalProperties: false
            required:
              - id
              - value
              - metadata
            additionalProperties: false
          description: |-
            List of each dimension value for the serie per dimension id.
            Could be empty if no dimension was queried
        measures:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              values:
                type: array
                items:
                  type: object
                  properties:
                    date:
                      type: string
                      format: date-time
                    value:
                      type: number
                    metadata:
                      type: object
                      properties:
                        calculation:
                          type: array
                          items:
                            oneOf:
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - number
                                  value:
                                    type: number
                                  unit:
                                    oneOf:
                                      - type: string
                                        enum:
                                          - currency
                                      - type: string
                                        enum:
                                          - percent
                                required:
                                  - type
                                  - value
                                additionalProperties: false
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - scope
                                  value:
                                    oneOf:
                                      - type: string
                                        enum:
                                          - (
                                      - type: string
                                        enum:
                                          - )
                                required:
                                  - type
                                  - value
                                additionalProperties: false
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - operator
                                  value:
                                    oneOf:
                                      - type: string
                                        enum:
                                          - /
                                      - type: string
                                        enum:
                                          - ×
                                      - type: string
                                        enum:
                                          - '-'
                                      - type: string
                                        enum:
                                          - +
                                required:
                                  - type
                                  - value
                                additionalProperties: false
                      additionalProperties: false
                  required:
                    - date
                    - value
                    - metadata
                  additionalProperties: false
                description: >-
                  When sending query with a granularity (for graphs),

                  we would have multiple values for each day/month/hour.

                  Otherwise, we would have only 1 value with date being the
                  start of the date range.
            required:
              - id
              - values
            additionalProperties: false
      required:
        - dimensions
        - measures
      additionalProperties: false
    AttributionInteractionType:
      type: string
      enum:
        - click
        - display
  securitySchemes:
    password_auth:
      type: oauth2
      flows:
        password:
          tokenUrl: https://api.reelevant.com/v1/auth/token
          refreshUrl: https://api.reelevant.com/v1/auth/token
          scopes: {}

````