Cube Drilldown API

The Drilldown API from Cube — 1 operation(s) for drilldown.

OpenAPI Specification

cubesoftware-drilldown-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Cube Agents Drilldown API
  version: 1.0.0 (1.0)
  description: "#### General Description\nAn API to access underlying Cube functionality. These endpoints are the same endpoints\nthat support Cube's universal add-ons and a plethora of integrations meaning you'll be able to interact with your\nCube data in many powerful ways. Visit the API section of Cube's [Help Center](https://help.cubesoftware.com/hc/en-us/sections/18205290556180-Custom-Integrations)\nfor more usage guides on how you can use this API to integrate with Cube to accomplish various tasks!\n\n#### Versioning\nAll requests to the API require a version to be configured via an `Accept` Header. The value of this Header should look like this:\n```\nAccept: application/json; version=1.0\n```\nNote that the version number may differ depending on which version of the endpoint is needed.\n\n#### Response Structure\nThe general response structure of Cube's API endpoints will contain a `\"data\"` and `\"metadata\"` root level key:\n```json\n{\n    \"data\": { ... object data or list of objects ... },\n    \"metadata\": {\n        \"status\": 200,\n        \"message\": \"Potential message with additional context\",\n        \"error\": false,\n        \"code\": \"\"\n    }\n}\n```\n\n#### Rate Limiting\nAll endpoints have a rate limit configured, most of them default to 5/s.\nWhen the rate limit is encountered, a 429 HTTP code will be returned.\n\n#### Error Handling\nIn the event an error occurs, the response will typically look like this:\n```json\n{\n    \"data\": {},\n    \"metadata\": {\n        \"status\": 400,\n        \"message\": \"Some error message\",\n        \"error\": true,\n        \"code\": \"SOME_ERROR_CODE\"\n    }\n}\n```\n"
  termsOfService: https://www.cubesoftware.com/terms-of-service
servers:
- url: https://api.cubesoftware.com
  description: Production API URL
tags:
- name: Drilldown
  description: ''
paths:
  /cube/drilldown:
    get:
      operationId: cube_drilldown_retrieve
      description: "This endpoint retrieves any values in the cube that make up the overall value at the provided\ncross section of dimensions. For instance, in the example JSON \"Q1-19\" was provided as the \"Time\" dimension and\nyou can see that it returned a value for \"Jan-19\", \"Feb-19\", and \"Mar-19\" which all make up \"Q1-19\".\n\nDrilling down into a cube value is very similar to viewing details for a value, and filtering in that you are able\nto pass either the names of the dimensions or their IDs as parameters. A dimension value must be provided for each top\nlevel dimension.\n\nThe drilldown endpoint supports other currencies as long as the company has the alternate currency enabled.\n        "
      summary: Drilldown
      parameters:
      - in: query
        name: Account
        schema:
          type: array
          items:
            type: string
        description: A list of child Account dimensions
        examples:
          SingleAccountDimension:
            value:
            - Income Statement
            summary: Single Account dimension
          MultipleAccountDimensions:
            value:
            - Income Statement
            - Revenue
            - Product Revenue
            summary: Multiple Account dimensions
      - in: query
        name: Department
        schema:
          type: array
          items:
            type: string
        description: A list of child Department dimensions
        examples:
          SingleDepartmentDimension:
            value:
            - Sales and Marketing
            summary: Single Department dimension
          MultipleDepartmentDimensions:
            value:
            - Sales and Marketing
            - Department - Other
            summary: Multiple Department dimensions
      - in: query
        name: Scenario
        schema:
          type: array
          items:
            type: string
        description: A list of child Scenario dimensions
        examples:
          SingleScenarioDimension:
            value:
            - Actuals
            summary: Single Scenario dimension
          MultipleScenarioDimensions:
            value:
            - Actuals
            - Budget
            - Forecast
            summary: Multiple Scenario dimensions
      - in: query
        name: Time
        schema:
          type: array
          items:
            type: string
        description: A list of child Time dimensions
        examples:
          SingleTimeDimension:
            value:
            - Q1-19
            summary: Single Time dimension
          MultipleTimeDimensions:
            value:
            - Jan-19
            - Feb-19
            summary: Multiple Time dimensions
      - in: header
        name: X-Company-ID
        schema:
          type: string
        description: Associates request with company
        required: true
      - in: query
        name: currency_code
        schema:
          type: string
        description: The three character currency code
        examples:
          SampleValue:
            value: USD
            summary: Sample value
      - in: query
        name: export
        schema:
          type: string
          enum:
          - ''
          - CSV
          - XLSX
          default: ''
        description: Export type. Download link will be emailed when ready
        examples:
          NoExportExample:
            value: null
            summary: No Export Example
          CSVExample:
            value: CSV
            summary: CSV Example
          ExcelSpreadsheetExample:
            value: XLSX
            summary: Excel Spreadsheet Example
      - in: query
        name: full_path
        schema:
          type: boolean
          default: false
        description: Whether or not to include full dimension path in records of the response
        examples:
          SampleValue:
            value: true
            summary: Sample value
      - in: query
        name: include_zeroes
        schema:
          type: boolean
          default: true
        description: Whether or not to include records where value=0 in the response
        examples:
          SampleValue:
            value: true
            summary: Sample value
      - in: query
        name: limit
        schema:
          type: integer
        description: The number of rows to limit the response to
        examples:
          SampleValue:
            value: 10
            summary: Sample value
      - in: query
        name: spreadsheet
        schema:
          type: boolean
          default: false
        description: Whether or not to return a 2D array for spreadsheet usage back (escapes Time dimension names)
        examples:
          SampleValue:
            value: true
            summary: Sample value
      tags:
      - Drilldown
      security:
      - OAuth2: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CubeDrilldownResponse'
          description: ''
components:
  schemas:
    CubeDrilldownResponse:
      type: object
      properties:
        id:
          type: string
        value:
          type: string
        formula:
          type: object
          additionalProperties: {}
        calculated:
          type: boolean
        dimensions:
          type: object
          additionalProperties: {}
        attributes:
          type: object
          additionalProperties: {}
        splits:
          type: array
          items: {}
      required:
      - attributes
      - calculated
      - dimensions
      - formula
      - id
      - splits
      - value
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://portal.cubesoftware.com/o/authorize/
          tokenUrl: https://api.cubesoftware.com/o/token/
          scopes: {}
      description: Standard Cube OAuth 2.0 flow