Skip to main content

Cube Software API Data Source

The Cube Software API connector enables Nexla to ingest data from your Cube FP&A environment, including planning tables, dimensions, cubes, canvases, widgets, connections, tasks, and workflow data. Follow the instructions below to create a new data flow that ingests data from a Cube Software API source in Nexla.
cube_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 particular action item—such as its status, assignee, due date, or associated resources—for tracking or downstream processing.

  • Enter the unique identifier of the action item you want to retrieve in the Action Item ID field. Action item IDs can be obtained from a list endpoint or from the Cube Software UI.

  • If your Cube Software organization requires it, enter your Company ID (the X-Company-ID header value) in the corresponding field. This header scopes the request to your specific company context within a multi-company Cube deployment.

For additional details about action items, refer to the Cube Software Action Items API documentation.

Retrieve Chat Message

This endpoint fetches a specific chat message from an agent chat session in Cube Software by its unique ID. Use this endpoint to retrieve the content and metadata of a particular 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 obtained from the Cube Software agent chat interface or from prior API responses.

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

List all canvases

This endpoint retrieves a list of all canvases available in your Cube Software organization. Canvases are collaborative workspaces within Cube used for financial reporting and analysis. Use this endpoint to enumerate all canvases, optionally filtering by source or widget type, and to build downstream workflows that act on canvas data.

  • No additional configuration is required beyond selecting this endpoint. The endpoint automatically returns all canvases accessible to your credential, with each canvas record containing its ID, name, configuration, and associated metadata.

The response data is extracted from the $.canvases[*] path of the API response, so each record in the resulting Nexset corresponds to one canvas. For complete canvas API reference details, see the Cube Software Canvases API documentation.

Retrieve a specific canvas

This endpoint fetches the full details of a single canvas by its unique ID. Use this endpoint when you need the complete configuration and metadata of a specific canvas—for example, to replicate a canvas configuration, audit its settings, or use its properties in downstream flows.

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

List all widgets

This endpoint retrieves a list of all available widgets in the Cube Software canvas system. Widgets are the individual visual components—such as charts, tables, and KPI cards—that can be embedded within canvases. Use this endpoint to inventory available widget types or to build flows that depend on widget configuration data.

  • No additional configuration is required beyond selecting this endpoint. The endpoint returns all widgets, with each record extracted from the $.data[*] path of the API response.

Retrieve widget details

This endpoint fetches detailed information about a specific widget by its unique ID. Use this endpoint to retrieve the configuration, type, and properties of an individual canvas widget for auditing, documentation, or integration purposes.

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

List all connections

This endpoint retrieves all data connections associated with your Cube Software company. Connections represent integrations with external data sources—such as ERP systems, accounting platforms, and spreadsheets—that power Cube's planning data. Use this endpoint to audit or replicate your connection inventory.

  • Enter your Company ID in the corresponding field. This value is passed as the X-Company-ID request header and is required to scope the response to your specific organization. Contact your Cube Software administrator if you are unsure of your Company ID.

List all cubes

This endpoint retrieves a list of all cubes in your Cube Software system. In Cube Software, a "cube" is a data matrix that organizes planning data across dimensions—similar to a multidimensional spreadsheet or OLAP cube. Use this endpoint to enumerate all cubes and ingest their metadata into Nexla for reporting or downstream analysis.

  • No additional configuration is required beyond selecting this endpoint. The endpoint returns all available cubes, with each record extracted from the $.data[*] path of the API response.

Retrieve a data table

This endpoint fetches detailed information about a specific data table in Cube Software by its unique ID. Data tables in Cube store structured financial datasets that can be mapped to planning scenarios. Use this endpoint to extract data table configuration and metadata for synchronization or auditing purposes.

  • Enter the unique identifier of the data table in the Data Table ID field.
  • Enter your Company ID in the corresponding field, required as the X-Company-ID request header to scope the response to your organization.

List all dimensions

This endpoint retrieves all dimensions defined in your Cube Software organization. Dimensions represent the hierarchical structures used to organize planning data—such as departments, cost centers, products, or time periods. Use this endpoint to ingest and synchronize your dimension master data.

  • Enter your Company ID in the corresponding field. This is passed as the X-Company-ID request header and is required to scope dimensions to your organization.

Each dimension record is extracted from the $.data[*] path of the API response. Dimensions can optionally include tags if configured in your Cube Software instance.

List Planning Tables

This endpoint retrieves all planning tables in your Cube Software workspace. Planning tables are the core data containers in Cube, holding the structured datasets—such as budgets, forecasts, and actuals—that form the basis of your FP&A processes. Use this endpoint to enumerate all planning tables for synchronization, reporting, or downstream analysis.

  • Enter your Company ID in the corresponding field. This is passed as the X-Company-ID request header to scope the response to your organization.

Retrieve Planning Table

This endpoint fetches a specific planning table by its unique ID. Use this endpoint to retrieve the schema, configuration, and metadata of a particular planning table—for example, to inspect its column definitions before synchronizing data from an external system.

  • Enter the unique identifier of the planning table in the Table ID field.
  • Enter your Company ID in the corresponding field, required as the X-Company-ID request header.

List Table Datasets

This endpoint retrieves all datasets associated with a specific planning table. Datasets represent individual versions or slices of data within a planning table—such as a particular budget scenario or forecast period. Use this endpoint to enumerate datasets for auditing, versioning, or downstream data processing.

  • Enter the unique identifier of the planning table whose datasets you want to retrieve in the Table ID field.
  • Enter your Company ID in the corresponding field, required as the X-Company-ID request header.

List Workflow Tasks

This endpoint retrieves workflow tasks from your Cube Software organization, with optional filtering by assignee, status, or process. Workflow tasks in Cube are used to manage the FP&A planning lifecycle—such as budget submission deadlines, review approvals, and variance analysis assignments. Use this endpoint to synchronize task data with external project management tools or for reporting.

  • Enter your Company ID in the corresponding field. This is passed as the X-Company-ID request header and is required to scope tasks to your organization.

Each task record is extracted from the $.data[*] path of the API response. Task fields include assignee, status, due date, process, and completion metadata.

Update a task

This endpoint partially updates a task in Cube Software by its unique ID using a PATCH request. Although classified as a source template (it returns the updated task record), it is used in source flows where the result of the update needs to be captured and processed downstream.

  • Enter the unique identifier of the task to update in the Task ID field.
  • Enter your Company ID in the corresponding field. This is passed as the X-Company-ID request header.

  • Provide values for the task properties you want to update, including:

    • Process ID — The identifier of the workflow process this task belongs to.
    • Name — The task name or title.
    • Description — A description of the task's purpose or requirements.
    • Status — The current status of the task (e.g., pending, in_progress, completed).
    • Assignee ID — The unique identifier of the user assigned to this task.
    • Due Date — The date by which the task must be completed, in yyyy-MM-dd format.

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—for example, 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 for reading data from Cube Software are:

    • GET: For retrieving data from the API (most Cube Software source endpoints use GET)
    • PATCH: For partial updates that also return the updated record (e.g., "Update a task")

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. The base URL for the Cube Software API is https://api.cubesoftware.com. Append the appropriate path for the resource you want to retrieve—for example, https://api.cubesoftware.com/dimensions to retrieve all dimensions, or https://api.cubesoftware.com/tables/ followed by the table ID to retrieve a specific planning table.

The full list of available Cube Software API endpoints and their path structures is available in the Cube Developer Center. Reference the Cube Help Center API section for additional guidance.

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 endpoints that accept date-range query parameters for filtering planning data by 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}. Cube Software endpoints that accept date parameters typically use yyyy-MM-dd format.

  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 for Cube Software endpoints that require IDs in the URL path—for example, using a dimension ID or table ID retrieved from a prior "List" endpoint call to drive a subsequent "Retrieve" endpoint call.

  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 the 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.

Most Cube Software list endpoints return data inside a top-level data array (e.g., $.data[*]), while some endpoints—such as "List all canvases"—use a different key (e.g., $.canvases[*]). Single-record GET endpoints typically return the record at the root (e.g., $).

Path to Data is essential when Cube Software API responses have nested structures. Without specifying the correct path, Nexla might not be able to properly parse and organize the data into usable records.

  • 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 records within a data object, or $.canvases[*] for the canvases list endpoint).
    Path to Data Example:

    For the "List all dimensions" endpoint, the response includes a top-level array named data. The path to the response would be entered as $.data[*]. For the "List all canvases" endpoint, enter $.canvases[*].

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, a Cube Software list response may include a top-level count or pagination summary alongside the data array. If you have specified $.data[*] as the path to relevant data but also want to preserve the top-level summary, you can specify a separate metadata path.

  • 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 JSON responses, 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 endpoints require the X-Company-ID header to scope requests to a specific company context. If you are manually configuring a Cube Software endpoint that requires this header, enter it as X-Company-ID:your_company_id in the Request Headers field. You do not need to include the Authorization header, as it is handled automatically by your Nexla credential.

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.