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: Cube API Production 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