Cube Planning Connections API

Connections to external source systems allow Cube to automatically import source dimensions and transaction data.

Operations 14

POST /connection/{connection_id}/deactivate Deactivate a connection #
GET /connection/{connection_id}/import/settings Get Import Settings for Connection #
POST /connection/{connection_id}/resync Resync a Connection #
GET /connection/{connection_id}/salesforce/soql Salesforce SOQL #
GET /connection/{connection_id}/source-file-storage Get Source Files #
PATCH /connection/{connection_id}/source-file-storage Edit Source File #
POST /connection/{connection_id}/source-file-storage/delete Delete Batch of Source Files #
POST /connection/{connection_id}/source-file-storage/download Generate Download URL for Source File #
POST /connection/{connection_id}/source-file-storage/upload-urls Generate Upload URLs for Source Files #
GET /connections Get all Connections #
GET /connections/{connection_id} Get a Connection #
POST /connections/{connection_id}/imports Start a Data Import #
PUT /connections/{connection_id}/imports/{import_id} Cancel a Data Import #
GET /imports Get Import History #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cube-planning-connections-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cube-planning-connections-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cube Agents Connections 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: Connections
  description: "Connections to external source systems allow Cube to automatically import source\n            dimensions and transaction data.\n        "
paths:
  /connection/{connection_id}/deactivate:
    post:
      operationId: connection_deactivate_create
      description: Mark the connection as inactive. This will remove this connection from the UI. No data tied to this connection will be affected.
      summary: Deactivate a connection
      parameters:
      - in: header
        name: X-Company-ID
        schema:
          type: string
        description: Associates request with company
        required: true
      - in: path
        name: connection_id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Connections
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Connection'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Connection'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Connection'
        required: true
      security:
      - OAuth2: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Connection'
          description: ''
        '400':
          description: Bad Request - Failed to disconnect from external provider
        '401':
          description: Unauthorized
        '403':
          description: Forbidden - User does not have permission to modify this connection.
        '404':
          description: Connection not found
  /connection/{connection_id}/import/settings:
    get:
      operationId: connection_import_settings_retrieve
      description: "Get the default settings and required information for starting an import for a given connection.\n        "
      summary: Get Import Settings for Connection
      parameters:
      - in: header
        name: X-Company-ID
        schema:
          type: string
        description: Associates request with company
        required: true
      - in: path
        name: connection_id
        schema:
          type: string
          format: uuid
        description: The ID of a connection
        required: true
        examples:
          ConnectionRequest:
            value: bba75209-bd2b-4d82-9fde-dc38a16ae9d7
            summary: Connection Request
      tags:
      - Connections
      security:
      - OAuth2: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectionImportSettingsResponse'
          description: ''
  /connection/{connection_id}/resync:
    post:
      operationId: connection_resync_create
      description: "Use this endpoint to resync dimensions from a source connection.\n        "
      summary: Resync a Connection
      parameters:
      - in: header
        name: X-Company-ID
        schema:
          type: string
        description: Associates request with company
        required: true
      - in: path
        name: connection_id
        schema:
          type: string
          format: uuid
        description: The ID of a connection
        required: true
        examples:
          ConnectionRequest:
            value: bba75209-bd2b-4d82-9fde-dc38a16ae9d7
            summary: Connection Request
      - in: query
        name: end_time_dimension_id
        schema:
          type: integer
        description: Optional time dimension ID for the end of the date range to sync (for supported Integrations).
        examples:
          EndTimeDimensionID:
            value: 2
            summary: End Time Dimension ID
      - in: query
        name: start_time_dimension_id
        schema:
          type: integer
        description: Optional time dimension ID for the beginning of the date range to sync (for supported Integrations).
        examples:
          StartTimeDimensionID:
            value: 1
            summary: Start Time Dimension ID
      tags:
      - Connections
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResyncRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ResyncRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ResyncRequest'
      security:
      - OAuth2: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResyncResponse'
          description: ''
  /connection/{connection_id}/salesforce/soql:
    get:
      operationId: connection_salesforce_soql_retrieve
      description: "Make a query against Salesforce and return the results\n        "
      summary: Salesforce SOQL
      parameters:
      - in: header
        name: X-Company-ID
        schema:
          type: string
        description: Associates request with company
        required: true
      - in: path
        name: connection_id
        schema:
          type: string
          format: uuid
        description: The ID of a connection
        required: true
        examples:
          ConnectionRequest:
            value: bba75209-bd2b-4d82-9fde-dc38a16ae9d7
            summary: Connection Request
      - in: query
        name: options_only
        schema:
          type: boolean
        description: "Whether the request is for field options (for mapping dimensions)\n                 or for all the data in tabular format"
      - in: query
        name: query
        schema:
          type: string
        description: The Salesforce SoQL to execute
        required: true
      tags:
      - Connections
      security:
      - OAuth2: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesforceSoQLResponse'
          description: ''
  /connection/{connection_id}/source-file-storage:
    get:
      operationId: connection_source_file_storage_retrieve
      description: This endpoint retrieves all managed source files and folders for a connection
      summary: Get Source Files
      parameters:
      - in: path
        name: connection_id
        schema:
          type: string
          format: uuid
        description: The UUID of the ERP connection.
        required: true
      tags:
      - Connections
      security:
      - OAuth2: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FileNode'
              examples:
                SampleFileList:
                  value:
                  - - id: '001'
                      name: root
                      type: folder
                      size: 0
                      modified_at: null
                      relative_path: ''
                      parent_id: null
                    - id: '002'
                      name: file1.txt
                      type: file
                      size: 1024
                      modified_at: '2026-07-19T00:15:26.979270Z'
                      relative_path: file1.txt
                      parent_id: '001'
                    - id: '003'
                      name: folder 1
                      type: folder
                      size: 0
                      modified_at: null
                      relative_path: ''
                      parent_id: '001'
                    - id: '004'
                      name: file2.txt
                      type: file
                      size: 2048
                      modified_at: '2026-07-19T00:15:26.979320Z'
                      relative_path: folder 1/file2.txt
                      parent_id: '003'
                  summary: Sample File List
          description: List of source files and folders
        '404':
          description: Connection does not exist
    patch:
      operationId: connection_source_file_storage_partial_update
      description: This endpoint edits a source file in a connection
      summary: Edit Source File
      parameters:
      - in: path
        name: connection_id
        schema:
          type: string
          format: uuid
        description: The UUID of the ERP connection.
        required: true
      tags:
      - Connections
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedEditFile'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedEditFile'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedEditFile'
      security:
      - OAuth2: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileNode'
              examples:
                SuccessResponse:
                  value:
                    id: '002'
                    name: new-file-name.txt
                    type: file
                    size: 1024
                    modified_at: '2026-07-19T00:15:26.980030Z'
                    relative_path: new-folder/new-file-name.txt
                    parent_id: '001'
                  summary: Success Response
          description: File edited successfully
        '400':
          description: Invalid input
        '404':
          description: File or connection does not exist
  /connection/{connection_id}/source-file-storage/delete:
    post:
      operationId: connection_source_file_storage_delete_create
      description: This endpoint deletes a batch of source files for a connection
      summary: Delete Batch of Source Files
      parameters:
      - in: path
        name: connection_id
        schema:
          type: string
          format: uuid
        description: The UUID of the ERP connection.
        required: true
      tags:
      - Connections
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteBatch'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeleteBatch'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/DeleteBatch'
        required: true
      security:
      - OAuth2: []
      - {}
      responses:
        '200':
          description: Files deleted successfully
        '400':
          description: Invalid input
        '404':
          description: Connection does not exist
  /connection/{connection_id}/source-file-storage/download:
    post:
      operationId: connection_source_file_storage_download_create
      description: This endpoint generates a download URL for a source file in a connection
      summary: Generate Download URL for Source File
      parameters:
      - in: path
        name: connection_id
        schema:
          type: string
          format: uuid
        description: The UUID of the ERP connection.
        required: true
      tags:
      - Connections
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DownloadFile'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DownloadFile'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/DownloadFile'
        required: true
      security:
      - OAuth2: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SourceFileDownload'
              examples:
                SuccessResponse:
                  value:
                    download_url: https://example.com/signed-url
                  summary: Success Response
          description: Download URL generated successfully
        '400':
          description: Invalid input
        '404':
          description: Connection does not exist
  /connection/{connection_id}/source-file-storage/upload-urls:
    post:
      operationId: connection_source_file_storage_upload_urls_create
      description: This endpoint generates upload URLs for source files in a connection
      summary: Generate Upload URLs for Source Files
      parameters:
      - in: path
        name: connection_id
        schema:
          type: string
          format: uuid
        description: The UUID of the ERP connection.
        required: true
      tags:
      - Connections
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/FileUploadRequest'
          application/x-www-form-urlencoded:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/FileUploadRequest'
          multipart/form-data:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/FileUploadRequest'
        required: true
      security:
      - OAuth2: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SourceFileUpload'
              examples:
                SuccessResponse:
                  value:
                    upload_urls:
                    - https://example.com/signed-url-1
                    - https://example.com/signed-url-2
                  summary: Success Response
          description: Upload URLs generated successfully
        '400':
          description: Invalid input
        '404':
          description: Connection does not exist
  /connections:
    get:
      operationId: retrieve
      description: Get all connections for a company
      summary: Get all Connections
      parameters:
      - in: header
        name: X-Company-ID
        schema:
          type: string
        description: Associates request with company
        required: true
      tags:
      - Connections
      security:
      - OAuth2: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Connection'
          description: ''
  /connections/{connection_id}:
    get:
      operationId: retrieve_2
      description: Get a single connection
      summary: Get a Connection
      parameters:
      - in: header
        name: X-Company-ID
        schema:
          type: string
        description: Associates request with company
        required: true
      - in: path
        name: connection_id
        schema:
          type: string
          format: uuid
        description: The ID of a connection
        required: true
        examples:
          ConnectionRequest:
            summary: Connection Request
      tags:
      - Connections
      security:
      - OAuth2: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Connection'
          description: ''
  /connections/{connection_id}/imports:
    post:
      operationId: ImportDataCreate
      description: This endpoint will start a data import with the given connection. The request requires a connection ID and dimension IDs necessary to start an import.
      summary: Start a Data Import
      parameters:
      - in: header
        name: X-Company-ID
        schema:
          type: string
        description: Associates request with company
        required: true
      - in: path
        name: connection_id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Connections
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImportDataRequest'
            examples:
              QueueADataImportForTheSpecifiedConnectionWithTheFollowingValues:
                value:
                  dimensions:
                    other:
                    - 6
                    - 12
                    time:
                      start: 31
                      end: 44
                    scenario: 8
                summary: Queue a data import for the specified connection with the following values
                description: "| **Parameter** | **Type** | **Description** |\n|---|---|---|\n| dimensions | dictionary | Wrapper for dimensions data |\n| other | list of integers | Within the dimensions object, a list of cube dimension ids to use for unmapped source dimensions |\n| time | dictionary | Within the dimensions object, a dictionary representing the date range of the import |\n| start | integer | Within the time object, the id of the start time dimension |\n| end | integer | Within the time object, the id of the end time dimension |\n| scenario | integer | Within the dimensions object, the id of the scenario dimension |\n                "
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ImportDataRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ImportDataRequest'
        required: true
      security:
      - OAuth2: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Import'
          description: The import was queued and a message was sent in the metadata.
  /connections/{connection_id}/imports/{import_id}:
    put:
      operationId: ImportDataCancel
      description: Cancel an active data import by providing the import ID and connection ID. This action immediately stops the import process and sends a cancellation email to the user who initiated the import. Accessible only to Finance and Admin users.
      summary: Cancel a Data Import
      parameters:
      - in: header
        name: HTTP_ACCEPT
        schema:
          type: string
          default: application/json; version=1.1
        description: Set the version of API the request is for
        required: true
      - in: header
        name: X-Company-ID
        schema:
          type: string
        description: Associates request with company
        required: true
      - in: path
        name: connection_id
        schema:
          type: string
          format: uuid
        required: true
      - in: path
        name: import_id
        schema:
          type: integer
        required: true
      tags:
      - Connections
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImportUpdateApiDocAttributes_1'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ImportUpdateApiDocAttributes_1'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ImportUpdateApiDocAttributes_1'
        required: true
      security:
      - OAuth2: []
      - {}
      deprecated: true
      responses:
        '200':
          content:
            application/json; version=1.0:
              schema:
                $ref: '#/components/schemas/Import'
          description: Attempt to cancel an active import.
        '403':
          content:
            application/json; version=1.0:
              schema:
                $ref: '#/components/schemas/Import'
          description: User is not at least a finance user.
        '400':
          content:
            application/json; version=1.0:
              schema:
                $ref: '#/components/schemas/Import'
          description: Indicates a race condition has occurred and the cancellation failed.
  /imports:
    get:
      operationId: ImportGetList
      description: "List all of a company's source data imports ordered by most recent to least.\n        Optionally filtered by a data table id."
      summary: Get Import History
      parameters:
      - in: header
        name: X-Company-ID
        schema:
          type: string
        description: Associates request with company
        required: true
      - in: query
        name: data_table_id
        schema:
          type: string
          format: uuid
        description: Filter imports related to a specific data table
      tags:
      - Connections
      security:
      - OAuth2: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Import'
          description: The import history list
components:
  schemas:
    RelationshipTypeEnum:
      enum:
      - EMPLOYEE
      - PARTNER
      type: string
      description: '* `EMPLOYEE` - Employee

        * `PARTNER` - Partner'
    DownloadFile:
      type: object
      properties:
        relative_path:
          type: string
      required:
      - relative_path
    Type95aEnum:
      enum:
      - BASIC
      - FORMULA
      - TAG
      type: string
      description: '* `BASIC` - Basic

        * `FORMULA` - Formula

        * `TAG` - Tag'
    Import:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        created_at:
          type: string
          format: date-time
          readOnly: true
        completed_at:
          type:
          - string
          - 'null'
          format: date-time
        user:
          $ref: '#/components/schemas/User'
        status:
          $ref: '#/components/schemas/Status6a6Enum'
        scenario_dimension:
          $ref: '#/components/schemas/Dimension'
        start_time_dimension:
          $ref: '#/components/schemas/Dimension'
        end_time_dimension:
          $ref: '#/components/schemas/Dimension'
        data_table:
          $ref: '#/components/schemas/SourceDataTable'
        status_message:
          type:
          - string
          - 'null'
        olap_cube_change:
          $ref: '#/components/schemas/OlapCubeChange'
        source_import_type:
          allOf:
          - $ref: '#/components/schemas/SourceImportTypeEnum'
          readOnly: true
      required:
      - created_at
      - data_table
      - end_time_dimension
      - id
      - olap_cube_change
      - scenario_dimension
      - source_import_type
      - start_time_dimension
      - status
      - user
    User:
      type: object
      description: 'A serializer mixin that allows dynamic inclusion or exclusion of serializer fields by

        passing `fields=[...]` or `exclude_fields=[...]` when initializing.'
      properties:
        id:
          type: integer
          readOnly: true
        first_name:
          type: string
          maxLength: 100
        last_name:
          type: string
          maxLength: 100
        created_at:
          type: string
          format: date-time
          readOnly: true
        email:
          type: string
          format: email
          maxLength: 254
        is_staff:
          type: boolean
          readOnly: true
        is_cube_staff:
          type: boolean
          readOnly: true
        relationship_type:
          oneOf:
          - $ref: '#/components/schemas/RelationshipTypeEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        timezone:
          $ref: '#/components/schemas/TimezoneEnum'
      required:
      - created_at
      - email
      - id
      - is_cube_staff
      - is_staff
    SourceFileUpload:
      type: object
      properties:
        upload_urls:
          type: array
          items:
            type: string
            format: uri
      required:
      - upload_urls
    SourceImportTypeEnum:
      enum:
      - USER
      - SCHEDULED
      type: string
      description: '* `USER` - User

        * `SCHEDULED` - Scheduled'
    SourceDataTable:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 255
        active:
          type: boolean
          readOnly: true
        settings:
          type: object
          additionalProperties: {}
        created_at:
          type: string
          format: date-time
          readOnly: true
        connection:
          allOf:
          - $ref: '#/components/schemas/Connection'
          readOnly: true
        type:
          allOf:
          - $ref: '#/components/schemas/SourceDataTableTypeEnum'
          readOnly: true
        type_friendly:
          type: string
          readOnly: true
        last_import:
          type: object
          additionalProperties: {}
          readOnly: true
        last_successful_import:
          type: object
          additionalProperties: {}
          readOnly: true
        source_type:
          type: string
          description: "Returns the human-friendly category of the connection's Integration, if the table has\na connection. Otherwise, returns 'Data Table'.\n\nReturns:\n    The human-friendly source category"
          readOnly: true
        mapping_data:
          type: object
          additionalProperties: {}
          readOnly: true
        description:
          type: string
      required:
      - active
      - connection
      - created_at
      - id
      - last_import
      - last_successful_import
      - mapping_data
      - name
      - settings
      - source_type
      - type
      - type_friendly
    NullEnum:
      enum:
      - null
    Integration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        source:
          $ref: '#/components/schemas/IntegrationSourceEnum'
        category:
          $ref: '#/components/schemas/CategoryEnum'
        name:
          type: string
          maxLength: 100
        logo_url:
          type:
          - string
          - 'null'
          readOnly: true
      required:
      - category
      - id
      - logo_url
      - name
      - source
    CategoryEnum:
      enum:
      - BI
      - GL
      - HRIS
      - SSO
      - CRM
      - OTHER
      - UAP
      type: string
      description: '* `BI` - Business Intelligence

        * `GL` - General Ledger

        * `HRIS` - Human Resource Information Service

        * `SSO` - Single Sign On

        * `CRM` - Customer Relationship Management

        * `OTHER` - Other

        * `UAP` - Unified API Platform'
    Dimension:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        parent_id:
          type:
          - integer
          - 'null'
          readOnly: true
        name:
          type: string
          maxLength: 255
        active:
          type: boolean
          readOnly: true
        status:
          $ref: '#/components/schemas/Status2c8Enum'
        type:
          $ref: '#/components/schemas/Type95aEnum'
        rollup_type:
          oneOf:
          - $ref: '#/components/schemas/RollupTypeEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        formula:
          type: string
          readOnly: true
        write_protection:
          $ref: '#/components/schemas/WriteProtectionEnum'
        position:
          type: integer
          maximum: 9223372036854775807
          minimum: -9223372036854775808
          format: int64
        special_case_id:
          type:
          - string
          - 'null'
          maxLength: 100
        date:
          type:
          - string
          - 'null'
          format: date
        has_children:
          type: boolean
        write_block_reason:
          type: string
          description: "If the dimension cannot be written to, return the reason why. Otherwise, return nothing.\n\nArgs:\n    obj: The model object to be checked if can be written to.\n\nReturns:\n    str (Optional): The error blocking the dimension from being written to, if one exists"
          readOnly: true
        metadata:
          type:
          - string
          - 'null'
      required:
      - active
      - formula
      - id
      - name
      - parent_id
      - write_block_reason
    SourceFileDownload:
      type: object
      properties:
        download_url:
          type: string
          format: uri
      required:
      - download_url
    OlapCubeChangeStatusEnum:
      enum:
      - PENDING
      - COMPLETED
      - FAILED
      type: string
      description: '* `PENDING` - Pending

        * `COMPLETED` - Completed

        * `FAILED` - Failed'
    BlankEnum:
      enum:
      - ''
    RollupTypeEnum:
      enum:
      - SUM
      - AVERAGE
      - BALANCE
      - BEGINNING_BALANCE
      type: string
      description: '* `SUM` - Sum

        * `AVERAGE` - Average

        * `BALANCE` - Ending Balance

        * `BEGINNING_BALANCE` - Beginning Balance'
    FileImports:
      type: object
      properties:
        last_updated:
          type: string
          format: date-time
        last_deleted:
          type: string
          format: date-time
      required:
      - last_deleted
      - last_updated
    IntegrationSourceEnum:
      enum:
      - METABASE
      - QUICKBOOKS
      - XERO
      - NETSUITE
      - SALESFORCE
      - SAGE_INTACCT
      - RILLET
      - CAMPFIRE
      - CHARTHOP
      - GOOGLE
      - OKTA
      - BOOMI
      - SAML
      - OPEN_EXCHANGE_RATES
      - NETSUITE_RATES
      - MERGE
      type: string
      description: '* `METABASE` - Metabase

        * `QUICKBOOKS` - QuickBooks

        * `XERO` - Xero

        * `NETSUITE` - NetSuite

        * `SALESFORCE` - Salesforce

        * `SAGE_INTACCT` - Sage Intacct

        * `RILLET` - Rillet

        * `CAMPFIRE` - Campfire

        * `CHARTHOP` - ChartHop

        * `GOOGLE` - Google SSO

        * `OKTA` - Okta (OIDC)

        * `BOOMI` - Boomi

        * `SAML` - SAML

        * `OPEN_EXCHANGE_RATES` - Open Exchange Rates

        * `NETSUITE_RATES` - NetSuite Saved Search

        * `MERGE` - Cube Universal Connect'
    Status2c8Enum:
      enum:
      - ENABLED
      - DISABLING_VALUES
      - CLEARING_VALUES
      - VALUES_CLEARED
      - DISABLED
      type: string
      description: '* `ENABLED` - Enabled

       

# --- truncated at 32 KB (79 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cube-planning/refs/heads/main/openapi/cube-planning-connections-api-openapi.yml