Skip to main content

Cube Software API Data Source

The Cube Software API connector enables you to ingest data from Cube's FP&A platform, including canvases, planning tables, dimensions, cubes, connections, chat messages, action items, and workflow tasks. Follow the instructions below to create a new data flow that ingests data from a Cube Software API source in Nexla.
curve_api.png

Cube Software API

Create a New Data Flow

  1. To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Then, select the desired flow type from the list, and click the Create button.

  2. Select the Cube Software API connector tile from the list of available connectors. Then, select the credential that will be used to connect to the Cube Software API instance, and click Next; or, create a new Cube Software API credential for use in this flow.

  3. In Nexla, Cube Software API data sources can be created using pre-built endpoint templates, which expedite source setup for common Cube Software API endpoints. Each template is designed specifically for the corresponding Cube Software API endpoint, making source configuration easy and efficient.
    • To configure this source using a template, follow the instructions in Configure Using a Template.

    Cube Software API sources can also be configured manually, allowing you to ingest data from Cube Software API endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this source manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Cube Software API endpoints. Each template is designed specifically for the corresponding Cube Software API endpoint, making data source setup easy and efficient.

Endpoint Settings

  • Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.

    Retrieve an action item

    This endpoint fetches a specific action item from Cube Software by its unique ID. Use this endpoint when you need to retrieve the details of a single action item — such as its status, assignee, due date, or associated metadata — for reporting or integration purposes.

    • Enter the unique identifier of the action item you want to retrieve in the Action Item ID field. Action item IDs can be found within the Cube Software interface or via a prior API response.

    • Enter your Cube Software company identifier in the X-Company-ID field. This header is required to scope the request to your organization within the Cube Software platform.

    For more information about Cube Software action items and their structure, refer to the Cube API Action Items documentation.

    Retrieve Chat Message

    This endpoint fetches a specific chat message from a Cube Software agent chat session by its unique ID. Use this endpoint when you need to retrieve the content and metadata of an individual AI agent chat message for auditing, analysis, or downstream processing.

    • Enter the unique identifier of the chat message you want to retrieve in the Chat Message ID field. Message IDs can be found in prior API responses or within the Cube Software agent session logs.

    For more information about Cube Software agent chat messages, refer to the Cube API Chat Messages documentation.

    List all canvases

    This endpoint retrieves a list of all canvases in your Cube Software workspace, with optional filtering by source and widget type. Canvases in Cube Software are flexible workspaces for building financial reports, dashboards, and planning views. Use this endpoint when you need a comprehensive inventory of your organization's canvases for reporting or data integration.

    • This endpoint retrieves all canvases accessible to your account. No additional required parameters need to be configured beyond selecting this endpoint template. The response data path is set to $.canvases[*], so each canvas in the response will be treated as an individual record in Nexla.

    For more information about Cube Software canvases, refer to the Cube API Canvases documentation.

    Retrieve a specific canvas

    This endpoint fetches a specific canvas by its unique ID. Use this endpoint when you need detailed information about a particular canvas — such as its configuration, widgets, or associated metadata — for reporting or downstream data processing.

    • Enter the unique identifier of the canvas you want to retrieve in the Canvas ID field. Canvas IDs can be obtained from the "List all canvases" endpoint or from the Cube Software interface.

    For more information about Cube Software canvases, refer to the Cube API Canvases documentation.

    List all widgets

    This endpoint retrieves a list of all available widgets in the Cube Software canvas system. Widgets are the building blocks of canvases — they represent individual data visualizations, tables, charts, or other display components. Use this endpoint to enumerate available widget types or catalog widget usage across your canvases.

    • This endpoint retrieves all widgets accessible to your account. No additional required parameters need to be configured beyond selecting this endpoint template.

    Retrieve widget details

    This endpoint fetches detailed information about a specific widget by its unique ID. Use this endpoint when you need the full configuration and metadata of a particular canvas widget for auditing, analysis, or integration.

    • Enter the unique identifier of the widget you want to retrieve in the Widget ID field. Widget IDs can be obtained from the "List all widgets" endpoint response.

    List all connections

    This endpoint retrieves all data connections associated with a company in Cube Software. Connections represent the data sources (such as spreadsheets, databases, or other integrations) that feed data into Cube's planning models. Use this endpoint to audit or catalog the connections configured in your Cube Software environment.

    • Enter your Cube Software company identifier in the X-Company-ID field. This header is required to scope the request to your organization.

    List all cubes

    This endpoint retrieves a list of all cubes in your Cube Software system. In Cube Software, a "cube" is a structured data model that organizes financial and operational data for planning and analysis. Use this endpoint to enumerate available cubes for reporting, auditing, or integration with other systems.

    • This endpoint retrieves all cubes accessible to your account. No additional required parameters need to be configured beyond selecting this endpoint template.

    Retrieve a data table

    This endpoint fetches detailed information about a specific data table in Cube Software. Data tables store structured datasets that can be referenced in planning models and cubes. Use this endpoint when you need to retrieve the schema, configuration, and data of a particular data table.

    • Enter the unique identifier of the data table you want to retrieve in the Data Table ID field. Data table IDs can be found within the Cube Software interface or from prior API responses.
    • Enter your Cube Software company identifier in the X-Company-ID field. This header is required to scope the request to your organization.

    List all dimensions

    This endpoint retrieves all dimensions in your Cube Software environment, with optional filtering and tag inclusion. Dimensions in Cube Software represent the hierarchical classification structures — such as departments, cost centers, or product categories — that organize planning data. Use this endpoint to enumerate and audit your organization's dimension structure.

    • Enter your Cube Software company identifier in the X-Company-ID field. This header is required to scope the request to your organization.

    List Planning Tables

    This endpoint retrieves all planning tables in your Cube Software workspace. Planning tables are structured grids used to enter, store, and analyze financial and operational planning data. Use this endpoint to enumerate your organization's planning tables for reporting, data extraction, or integration.

    • Enter your Cube Software company identifier in the X-Company-ID field. This header is required to scope the request to your organization.

    For more information about Cube Software planning tables, refer to the Cube API documentation.

    Retrieve Planning Table

    This endpoint fetches a specific planning table by its unique ID. Use this endpoint when you need detailed information about a particular planning table — such as its schema, configuration, or associated datasets.

    • Enter the unique identifier of the planning table you want to retrieve in the Table ID field. Planning table IDs can be obtained from the "List Planning Tables" endpoint.
    • Enter your Cube Software company identifier in the X-Company-ID field. This header is required to scope the request to your organization.

    List Table Datasets

    This endpoint retrieves all datasets associated with a specific planning table. Datasets represent the actual data rows stored within a planning table. Use this endpoint when you need to extract the underlying data from a planning table for analysis, reporting, or integration with other systems.

    • Enter the unique identifier of the planning table whose datasets you want to retrieve in the Table ID field. Planning table IDs can be obtained from the "List Planning Tables" endpoint.
    • Enter your Cube Software company identifier in the X-Company-ID field. This header is required to scope the request to your organization.

    List Workflow Tasks

    This endpoint retrieves workflow tasks in Cube Software, with optional filtering by assignee, status, or process. Workflow tasks represent items in Cube's structured planning workflows — such as budget submission tasks, review tasks, or approval tasks. Use this endpoint to monitor task status, build reporting dashboards, or sync task data with external project management tools.

    • Enter your Cube Software company identifier in the X-Company-ID field. This header is required to scope the request to your organization.

    For more information about Cube Software workflow tasks, refer to the Cube API documentation.

    Update a task

    This endpoint partially updates a workflow task by its ID with new values for task properties such as status, assignee, due date, and description. Although implemented as a PATCH/source operation, this endpoint is useful when you need to read back the updated task state as part of a data flow — for example, to confirm a task update or to feed updated task data downstream.

    • Enter the unique identifier of the task to update in the Task ID field.
    • Enter your Cube Software company identifier in the X-Company-ID field. This header is required to scope the request to your organization.
    • The following task fields can be included in the update request body:

      • Process ID: The identifier of the workflow process this task belongs to.
      • Name: The task name or title.
      • Description: A description of the task.
      • Status: The current task status (e.g., pending, in progress, completed).
      • Assignee ID: The identifier of the user assigned to this task.
      • Due Date: The task due date in the format yyyy-MM-dd.

    For more information about Cube Software tasks, refer to the Cube API Tasks documentation.

Endpoint Testing

Once the selected endpoint template has been configured, Nexla can retrieve a sample of the data that will be fetched according to the current settings. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Configure Manually

Cube Software API data sources can be manually configured to ingest data from any valid Cube Software API endpoint. Manual configuration provides maximum flexibility for accessing endpoints not covered by pre-built templates or when you need custom API configurations.

With manual configuration, you can also create more complex Cube Software API sources, such as sources that use chained API calls to fetch data from multiple endpoints or sources that require custom request headers (such as the X-Company-ID header required by several Cube Software endpoints).

API Method

  1. To manually configure this source, select the Advanced tab at the top of the configuration screen.

  2. Select the API method that will be used for calls to the Cube Software API from the Method pulldown menu. The most common methods are:

    • GET: For retrieving data from the API — the most common method for data source configuration
    • POST: For sending data to the API or triggering actions
    • PATCH: For partial updates to existing data

API Endpoint URL

  1. Enter the URL of the Cube Software API endpoint from which this source will fetch data in the Set API URL field. This should be the complete URL including the protocol (https://) and any required path parameters. The Cube Software API base URL is https://api.cubesoftware.com.

    For example, to list all planning tables, the endpoint URL would be https://api.cubesoftware.com/tables.

Ensure the API endpoint URL is correct and accessible with your current credentials. You can test the endpoint using the Test button after configuring the URL. For a complete list of available Cube Software API endpoints, refer to the Cube Developer Center.

Date/Time Macros (API URL)

Optional

Optionally, the API URL can be customized using macros—all macros added to the API URL will be converted into values when Nexla executes the API call. Macros are dynamic placeholders that allow you to create flexible API endpoints that can adapt to different time periods or data requirements.

Macros are particularly useful for Cube Software API endpoints that accept date range parameters for filtering planning data by time period.

  1. To add a macro, type { at the appropriate position in the API URL (within the Set API URL field), and select the desired macro from the dropdown list.

    • {now} – The current datetime
    • {now-1} – The datetime one time unit before the current datetime
    • {now+1} – The datetime one time unit after the current datetime
    • custom – Datetime macros can reference any number of time units before or after the current datetime—for example, enter (now-4) to indicate the datetime four time units before the current datetime
  2. Select the format that will be applied to datetime macros from the Date Format for Date/Time Macro pulldown menu. This format will be applied to the base datetime value of the macro—i.e., the value of {now} in {now-1}.

  3. Select the datetime unit that will be used to perform mathematical operations in the included macro(s) from the Time Unit for Operations pulldown menu—for example, for the macro {now-1}, when Day is selected, {now-1} will be converted to the datetime one day before the current datetime.

Lookup-Based Macros (API URL)

Optional

Column values from existing lookups can also be included as macros in the API URL. Lookup-based macros allow you to reference data from previously configured data sources or lookups, enabling dynamic API endpoints that can adapt based on existing data.

Lookup-based macros are useful when, for example, you need to retrieve data for specific Cube Software table IDs or dimension IDs that are sourced from another Nexla dataset.

  1. To include a lookup column value macro, select the relevant lookup from the Add Lookups to Supported Macros pulldown menu.

  2. Type { at the appropriate position in the API URL, and select the lookup column-based macro from the dropdown list. Lookup-based macros are automatically populated into the macro list when a lookup is selected in the Add Lookups to Supported Macros pulldown menu.

Path to Data

Optional

If only a subset of the data returned by a Cube Software API endpoint is needed, you can designate the part(s) of the response that should be included in the Nexset(s) produced from this source by specifying the path to the relevant data within the response. Many Cube Software API endpoints return data nested within a data array or another top-level key.

For example, when fetching a list of planning tables, the API returns an object with a data array containing the table records. By entering the path $.data[*], you configure Nexla to treat each element of the returned array as an individual record.

Path to Data is essential when Cube Software API responses have nested structures. Common response paths for Cube Software endpoints include $.data[*] (for list endpoints) and $ (for single-object endpoints).

  • To specify which data should be treated as relevant in responses from this source, enter the path to the relevant data in the Set Path to Data in Response field.

    • For responses in JSON format enter the JSON path that points to the object or array that should be treated as relevant data. JSON paths use dot notation (e.g., $.data[*] to access an array of items within a data object, or $.canvases[*] for the canvas list endpoint).
    Path to Data Example:

    For the Cube Software "List Planning Tables" endpoint, the response contains a top-level data array. Enter $.data[*] as the path to configure Nexla to treat each table object as a separate record.

Autogenerate Path Suggestions

Nexla can also autogenerate data path suggestions based on the response from the API endpoint. These suggested paths can be used as-is or modified to exactly suit your needs.

  • To use this feature, click the Test button next to the Set API URL field to fetch a sample response from the API endpoint. Suggested data paths generated based on the content & format of the response will be displayed in the Suggestions box below the Set Path to Data in Response field.

  • Click on a suggestion to automatically populate the Set Path to Data in Response field with the corresponding path. The populated path can be modified directly within the field if further customization is needed.

    PathSuggestions.png

Metadata

If metadata is included in the response but is located outside of the defined path to relevant data, you can configure Nexla to include this data as common metadata in each record. For example, some Cube Software API responses include pagination information or summary statistics at the top level alongside the main data array. You can specify a path to this metadata to include it with each record in the generated Nexset(s).

Metadata paths are particularly useful for preserving Cube Software API response context like request IDs, timestamps, or pagination totals that apply to all records in the response.

  • To specify the location of metadata that should be included with each record, enter the path to the relevant metadata in the Path to Metadata in Response field.

    • For responses in JSON format, enter the JSON path to the object or array that contains the metadata.

Request Headers

Optional
  • If Nexla should include any additional request headers in API calls to this source, enter the headers & corresponding values as comma-separated pairs in the Request Headers field (e.g., header1:value1,header2:value2).

    Several Cube Software API endpoints require the X-Company-ID header to scope requests to your organization. If you are using an endpoint that requires this header, enter it here — for example: X-Company-ID:your_company_id.

    You do not need to include any headers already present in the credentials, such as the OAuth 2.0 Authorization header. That header is handled automatically by Nexla based on your credential configuration.

Endpoint Testing

After configuring all settings for the selected endpoint, Nexla can retrieve a sample of the data that will be fetched according to the current configuration. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Save & Activate the Source

  1. Once all of the relevant steps in the above sections have been completed, click the Create button in the upper right corner of the screen to save and create the new Cube Software API data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.