Cube Connections API

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

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/cubesoftware-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 email required.

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

OpenAPI Specification

cubesoftware-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: Production API 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:28:00.988078Z'
                      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:28:00.988129Z'
                      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:28:00.988851Z'
                    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:
    DownloadFile:
      type: object
      properties:
        relative_path:
          type: string
      required:
      - relative_path
    RelationshipTypeEnum:
      enum:
      - EMPLOYEE
      - PARTNER
      type: string
      description: '* `EMPLOYEE` - Employee

        * `PARTNER` - Partner'
    Status2c8Enum:
      enum:
      - ENABLED
      - DISABLING_VALUES
      - CLEARING_VALUES
      - VALUES_CLEARED
      - DISABLED
      type: string
      description: '* `ENABLED` - Enabled

        * `DISABLING_VALUES` - Disabling Values

        * `CLEARING_VALUES` - Clearing Values

        * `VALUES_CLEARED` - Values Cleared

        * `DISABLED` - Disabled'
    ConnectionImportSettingsResponse:
      type: object
      properties:
        block_reason:
          type: string
        tlds_needed:
          type: object
          additionalProperties: {}
        scenarios:
          type: object
          additionalProperties: {}
        num_unmapped:
          type: integer
        defaults:
          type: array
          items: {}
        transactions:
          $ref: '#/components/schemas/Transaction'
      required:
      - block_reason
      - defaults
      - num_unmapped
      - scenarios
      - tlds_needed
      - transactions
    FileNode:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        type:
          type: string
        size:
          type: integer
        modified_at:
          type:
          - string
          - 'null'
          format: date-time
        relative_path:
          type:
          - string
          - 'null'
        parent_id:
          type:
          - string
          - 'null'
      required:
      - id
      - modified_at
      - name
      - parent_id
      - relative_path
      - size
      - type
    FileImports:
      type: object
      properties:
        last_updated:
          type: string
          format: date-time
        last_deleted:
          type: string
          format: date-time
      required:
      - last_deleted
      - last_updated
    OlapCubeChangeStatusEnum:
      enum:
      - PENDING
      - COMPLETED
      - FAILED
      type: string
      description: '* `PENDING` - Pending

        * `COMPLETED` - Completed

        * `FAILED` - Failed'
    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
    SourceDataTableTypeEnum:
      enum:
      - AD_HOC
      - ERP_CONNECTION
      - GENERIC
      - EMPLOYEE_ROSTER
      - HRIS
      type: string
      description: '* `AD_HOC` - Ad Hoc

        * `ERP_CONNECTION` - ERP Connection

        * `GENERIC` - Generic

        * `EMPLOYEE_ROSTER` - Employee Roster

        * `HRIS` - HRIS Connection'
    Type95aEnum:
      enum:
      - BASIC
      - FORMULA
      - TAG
      type: string
      description: '* `BASIC` - Basic

        * `FORMULA` - Formula

        * `TAG` - Tag'
    ResyncResponse:
      type: object
      properties:
        num_unmapped:
          type: integer
        audit_log_event_id:
          type: string
          format: uuid
        auth_redirect_url:
          type: string
          format: uri
      required:
      - audit_log_event_id
      - auth_redirect_url
      - num_unmapped
    OlapCubeChange:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        message:
          type:
          - string
          - 'null'
          maxLength: 1024
        created_at:
          type: string
          format: date-time
          readOnly: true
        metadata: {}
        type:
          $ref: '#/components/schemas/OlapCubeChangeTypeEnum'
        friendly_type:
          type: string
          readOnly: true
        created_by:
          $ref: '#/components/schemas/User'
        user:
          allOf:
          - $ref: '#/components/schemas/User'
          readOnly: true
        num_changes:
          type:
          - integer
          - 'null'
          maximum: 4294967295
          minimum: 0
          format: int64
        url:
          type: string
          readOnly: true
        status:
          $ref: '#/components/schemas/OlapCubeChangeStatusEnum'
        batch_id:
          type:
          - string
          - 'null'
          readOnly: true
      required:
      - batch_id
      - created_at
      - created_by
      - friendly_type
      - id
      - url
      - user
    WriteProtectionEnum:
      enum:
      - NONE
      - BLOCK
      - ACTUALS
      - AI
      type: string
      description: '* `NONE` - None

        * `BLOCK` - Block

        * `ACTUALS` - Actuals

        * `AI` - AI'
    OlapCubeChangeTypeEnum:
      enum:
      - USER
      - AI
      - USER_REVERT
      - TBI
      - EXTERNAL_SOURCE
      - EMPLOYEE_ROSTER
      - DATA_IMPORT
      - FORMULA
      - DISABLED
      - MERGE
      - DUPLICATION
      type: string
      description: '* `USER` - User

        * `AI` - AI

        * `USER_REVERT` - Revert

        * `TBI` - Trial Balance

        * `EXTERNAL_SOURCE` - External Source

        * `EMPLOYEE_ROSTER` - Employee Roster

        * `DATA_IMPORT` - Data

        * `FORMULA` - Formula

        * `DISABLED` - Disabled

        * `MERGE` - Merge

        * `DUPLICATION` - Duplication'
    Transaction:
      type: object
      properties:
        num_transactions:
          type: integer
        file_imports:
          $ref: '#/components/schemas/FileImports'
      required:
      - file_imports
      - num_transactions
    ImportDataRequest:
      type: object
      properties:
        dimensions:
          type: object
          additionalProperties: {}
        other:
          type: array
          items:
            type: integer
        time:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/time_child'
        scenario:
          type: integer
      required:
      - dimensions
      - other
      - scenario
      - time
    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
    Connection:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        active:
          type: boolean
          readOnly: true
        type:
          type:
          - string
          - 'null'
          description: "Return the category of the associated Integration model for backwards compatibility\n\nReturns:\n    The integration category (See Integration.CATEGORIES)"
          readOnly: true
        friendly_source:
          type: string
          readOnly: true
        integration:
          allOf:
          - $ref: '#/components/schemas/Integration'
          readOnly: true
        settings:
          type: object
          additionalProperties: {}
        metadata:
          type: object
          additionalProperties: {}
          readOnly: true
      required:
      - active
      - friendly_source
      - id
      - integration
      - metadata
      - settings
      - type
    RollupTypeEnum:
      enum:
      - SUM
      - AVERAGE
      - BALANCE
      - BEGINNING_BALANCE
      type: string
      description: '* `SUM` - Sum

        * `AVERAGE` - Average

        * `BALANCE` - Ending Balance

        * `BEGINNING_BALANCE` - Beginning Balance'
    SourceFileDownload:
      type: object
      properties:
        download_url:
          type: string
          format: uri
      r

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