---
title: "Update Data Table Dimensions"
method: POST
path: "/data-tables/{data_table_id}/dimensions"
tags: ["Data Tables"]
---

# Update Data Table Dimensions

`POST /data-tables/{data_table_id}/dimensions`

Creates and modifies dimensions tied to a data table

## Path parameters

- `data_table_id` string, uuid, required

## Query parameters

- `flat` boolean
- `full_list` boolean
- `tld_name` string

## Headers

- `X-Company-ID` string, required

## Request body

- SourceDimensionTree[]
  - `id` integer, required
  - `parent_id` integer, nullable, required
  - `currency_id` integer, nullable, required
  - `name` string, required
  - `active` boolean, required
  - `status` 'ENABLED' | 'DISABLING_VALUES' | 'CLEARING_VALUES' | 'VALUES_CLEARED' | 'DISABLED' — * `ENABLED` - Enabled * `DISABLING_VALUES` - Disabling Values * `CLEARING_VALUES` - Clearing Values * `VALUES_CLEARED` - Values Cleared * `DISABLED` - Disabled
  - `type` 'BASIC' | 'FORMULA' | 'TAG' — * `BASIC` - Basic * `FORMULA` - Formula * `TAG` - Tag
  - `rollup_type` union
    - 'SUM' | 'AVERAGE' | 'BALANCE' | 'BEGINNING_BALANCE' — * `SUM` - Sum * `AVERAGE` - Average * `BALANCE` - Ending Balance * `BEGINNING_BALANCE` - Beginning Balance
    - ''
    - unknown
  - `formula` string, required
  - `write_protection` 'NONE' | 'BLOCK' | 'ACTUALS' | 'AI' — * `NONE` - None * `BLOCK` - Block * `ACTUALS` - Actuals * `AI` - AI
  - `position` integer
  - `special_case_id` string, nullable
  - `date` string, date, nullable
  - `has_children` boolean
  - `write_block_reason` string, required — If the dimension cannot be written to, return the reason why. Otherwise, return nothing. Args: obj: The model object to be checked if can be written to. Returns: str (Optional): The error blocking the dimension from being written to, if one exists
  - `number` string, nullable
  - `created_at` string, date-time, required
  - `children` unknown, required
  - `data_table_id` string, uuid, required
  - `description` string, nullable
  - `requires_mapping` boolean, required
  - `can_be_sign_flipped` boolean, required

## Response `200`

- SourceDimensionTree[]
  - `id` integer, required
  - `parent_id` integer, nullable, required
  - `currency_id` integer, nullable, required
  - `name` string, required
  - `active` boolean, required
  - `status` 'ENABLED' | 'DISABLING_VALUES' | 'CLEARING_VALUES' | 'VALUES_CLEARED' | 'DISABLED' — * `ENABLED` - Enabled * `DISABLING_VALUES` - Disabling Values * `CLEARING_VALUES` - Clearing Values * `VALUES_CLEARED` - Values Cleared * `DISABLED` - Disabled
  - `type` 'BASIC' | 'FORMULA' | 'TAG' — * `BASIC` - Basic * `FORMULA` - Formula * `TAG` - Tag
  - `rollup_type` union
    - 'SUM' | 'AVERAGE' | 'BALANCE' | 'BEGINNING_BALANCE' — * `SUM` - Sum * `AVERAGE` - Average * `BALANCE` - Ending Balance * `BEGINNING_BALANCE` - Beginning Balance
    - ''
    - unknown
  - `formula` string, required
  - `write_protection` 'NONE' | 'BLOCK' | 'ACTUALS' | 'AI' — * `NONE` - None * `BLOCK` - Block * `ACTUALS` - Actuals * `AI` - AI
  - `position` integer
  - `special_case_id` string, nullable
  - `date` string, date, nullable
  - `has_children` boolean
  - `write_block_reason` string, required — If the dimension cannot be written to, return the reason why. Otherwise, return nothing. Args: obj: The model object to be checked if can be written to. Returns: str (Optional): The error blocking the dimension from being written to, if one exists
  - `number` string, nullable
  - `created_at` string, date-time, required
  - `children` unknown, required
  - `data_table_id` string, uuid, required
  - `description` string, nullable
  - `requires_mapping` boolean, required
  - `can_be_sign_flipped` boolean, required

---

[API](https://skmtc.net/cubesoftware/apis/cube-api.md) · [All operations](https://skmtc.net/cubesoftware/apis/cube-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cubesoftware/cube-api/revisions/67d9f45bb99b/schema)
