---
title: "Create Dimension Version"
method: POST
path: "/v1/dimensions/versions/create"
tags: ["DimensionVersion"]
---

# Create Dimension Version

`POST /v1/dimensions/versions/create`

Create a New Dimension Definition Version.

## Request body

- DimensionDefinitionVersion
  - `sysId` string — Identifier of the version
  - `createdOn` string, date-time — Version created on
  - `updatedOn` string, date-time — Version updated on
  - `version` integer
  - `definition` RecordIdentity
    - `sysId` string — Unique Identifier of the tracked item
    - `lastUpdate` string, date-time — Last update of the tracked item
    - `table` string — Context of the tracked item
  - `predecessor` RecordIdentity
    - `sysId` string — Unique Identifier of the tracked item
    - `lastUpdate` string, date-time — Last update of the tracked item
    - `table` string — Context of the tracked item
  - `details` DimensionDefinitionConfiguration
    - `start_date` string, date-time, required — Start date of the Dimension Definition
    - `end_date` string, date-time, required — End date of the Dimension Definition
    - `enable_cost_center` boolean — Is cost center enabled for the Dimension Definition
    - `attributes` AttributeDefinitionBase[] — Configured attributes for Dimension Definition
      - `name` string, required — Name of the Attribute
      - `mandatory` boolean — Is the dimensions attribute mandatory
      - `__type` string, required — Concrete type used for polymorphic deserialization (discriminator)
    - `access_granted_identities` AccessGrantedRolesAndUserGroups
      - `user_groups` string[] — User groups explicitly denied access
      - `roles` AccessGrantedRoles[] — Roles explicitly denied access by tenant
        - `tenant_id` string, required — Tenant ID explicitly denied access
        - `role_ids` string[] — Role IDs under this tenant explicitly denied access
    - `grouping_rules` DimensionGroupingRule[] — Configured grouping rule for Dimension Definition
      - `name` string, required — Name of the Grouping Rule
      - `description` string — Grouping Rule Description
      - `grouping_rule_id` string — ID of the Dimension grouping (system generated)
      - `rule_type` 'System' | 'UserDefined' — Type of Grouping Rule
      - `attributes` AttributeValueBase[]
        - `name` string, required — Name of the Attribute
        - `__type` string, required — Concrete type used for polymorphic deserialization (discriminator)
      - `filters` QueryOperator
        - `__type` string, required — Concrete type used for polymorphic deserialization (discriminator)
      - `platform_filters` QueryOperator
        - `__type` string, required — Concrete type used for polymorphic deserialization (discriminator)
      - `access_granted_identities` AccessGrantedRolesAndUserGroups
        - `user_groups` string[] — User groups explicitly denied access
        - `roles` AccessGrantedRoles[] — Roles explicitly denied access by tenant
          - `tenant_id` string, required — Tenant ID explicitly denied access
          - `role_ids` string[] — Role IDs under this tenant explicitly denied access
      - `dependent_grouping_rule` DependentDimension[] — Other Dimension Groupings associated with the grouping rule
        - `dimension_id` string, required — Id of the Dependent Dimension
        - `grouping_rule_ids` string[], required — Ids of the Dependent Dimension Grouping rules
        - `priority` integer — Priority of the Dependent Dimension Grouping Rule for evaluation order
      - `cost_anomaly_configuration` GroupingRuleCostAnomalyConfiguration
        - `threshold` GroupingRuleCostAnomalyThreshold, required
          - `impact` GroupingRuleCostAnomalyImpact, required
            - `minimum_cost_impact` number — Minimum cost impact to trigger anomaly detection for this dimension
            - `minimum_cost_impact_percentage` number — Minimum cost impact to trigger anomaly detection for this dimension
            - `op` 'OR', required — Operator to combine the cost impact conditions
          - `minimum_cost_spend` number — Minimum cost spend to trigger anomaly detection for this Grouping Rule
          - `op` 'AND' | 'OR', required — Operator to combine the threshold conditions
        - `notification` GroupingRuleCostAnomalyNotification, required
          - `notifications_enabled` boolean, required — Is Notifications Enabled for Grouping Rule
          - `daily_summary_email_enabled` boolean, required — Is Daily Summary Notification Enabled for Grouping Rule
          - `notify_on_detection` boolean, required — Is Notify On Detection Enabled for Grouping Rule
          - `notify_on_detection_emails` string[] — Emails to notify immediately on anomaly detection
          - `daily_summary_emails` string[] — Emails to send daily summary notification
          - `notify_on_detection_teams_webhooks` string[] — Microsoft Teams webhook URLs to notify on anomaly detection
          - `notify_on_detection_webhooks` string[] — Webhook URLs (Slack or generic) to notify on anomaly detection
          - `daily_summary_teams_webhooks` string[] — Microsoft Teams webhook URLs for daily summary notification
          - `daily_summary_webhooks` string[] — Webhook URLs (Slack or generic) for daily summary notification
      - `priority` integer — Priority of the Grouping Rule for evaluation order
    - `precompute` boolean — Enable precomputation tagging of Dimension tagging on billing line items
    - `include_unallocated_cost` boolean — Enable Unallocated Cost grouping rule for this Dimension Version

## Response `200`

Created

- DimensionDefinitionVersion
  - `sysId` string — Identifier of the version
  - `createdOn` string, date-time — Version created on
  - `updatedOn` string, date-time — Version updated on
  - `version` integer
  - `definition` RecordIdentity
    - `sysId` string — Unique Identifier of the tracked item
    - `lastUpdate` string, date-time — Last update of the tracked item
    - `table` string — Context of the tracked item
  - `predecessor` RecordIdentity
    - `sysId` string — Unique Identifier of the tracked item
    - `lastUpdate` string, date-time — Last update of the tracked item
    - `table` string — Context of the tracked item
  - `details` DimensionDefinitionConfiguration
    - `start_date` string, date-time, required — Start date of the Dimension Definition
    - `end_date` string, date-time, required — End date of the Dimension Definition
    - `enable_cost_center` boolean — Is cost center enabled for the Dimension Definition
    - `attributes` AttributeDefinitionBase[] — Configured attributes for Dimension Definition
      - `name` string, required — Name of the Attribute
      - `mandatory` boolean — Is the dimensions attribute mandatory
      - `__type` string, required — Concrete type used for polymorphic deserialization (discriminator)
    - `access_granted_identities` AccessGrantedRolesAndUserGroups
      - `user_groups` string[] — User groups explicitly denied access
      - `roles` AccessGrantedRoles[] — Roles explicitly denied access by tenant
        - `tenant_id` string, required — Tenant ID explicitly denied access
        - `role_ids` string[] — Role IDs under this tenant explicitly denied access
    - `grouping_rules` DimensionGroupingRule[] — Configured grouping rule for Dimension Definition
      - `name` string, required — Name of the Grouping Rule
      - `description` string — Grouping Rule Description
      - `grouping_rule_id` string — ID of the Dimension grouping (system generated)
      - `rule_type` 'System' | 'UserDefined' — Type of Grouping Rule
      - `attributes` AttributeValueBase[]
        - `name` string, required — Name of the Attribute
        - `__type` string, required — Concrete type used for polymorphic deserialization (discriminator)
      - `filters` QueryOperator
        - `__type` string, required — Concrete type used for polymorphic deserialization (discriminator)
      - `platform_filters` QueryOperator
        - `__type` string, required — Concrete type used for polymorphic deserialization (discriminator)
      - `access_granted_identities` AccessGrantedRolesAndUserGroups
        - `user_groups` string[] — User groups explicitly denied access
        - `roles` AccessGrantedRoles[] — Roles explicitly denied access by tenant
          - `tenant_id` string, required — Tenant ID explicitly denied access
          - `role_ids` string[] — Role IDs under this tenant explicitly denied access
      - `dependent_grouping_rule` DependentDimension[] — Other Dimension Groupings associated with the grouping rule
        - `dimension_id` string, required — Id of the Dependent Dimension
        - `grouping_rule_ids` string[], required — Ids of the Dependent Dimension Grouping rules
        - `priority` integer — Priority of the Dependent Dimension Grouping Rule for evaluation order
      - `cost_anomaly_configuration` GroupingRuleCostAnomalyConfiguration
        - `threshold` GroupingRuleCostAnomalyThreshold, required
          - `impact` GroupingRuleCostAnomalyImpact, required
            - `minimum_cost_impact` number — Minimum cost impact to trigger anomaly detection for this dimension
            - `minimum_cost_impact_percentage` number — Minimum cost impact to trigger anomaly detection for this dimension
            - `op` 'OR', required — Operator to combine the cost impact conditions
          - `minimum_cost_spend` number — Minimum cost spend to trigger anomaly detection for this Grouping Rule
          - `op` 'AND' | 'OR', required — Operator to combine the threshold conditions
        - `notification` GroupingRuleCostAnomalyNotification, required
          - `notifications_enabled` boolean, required — Is Notifications Enabled for Grouping Rule
          - `daily_summary_email_enabled` boolean, required — Is Daily Summary Notification Enabled for Grouping Rule
          - `notify_on_detection` boolean, required — Is Notify On Detection Enabled for Grouping Rule
          - `notify_on_detection_emails` string[] — Emails to notify immediately on anomaly detection
          - `daily_summary_emails` string[] — Emails to send daily summary notification
          - `notify_on_detection_teams_webhooks` string[] — Microsoft Teams webhook URLs to notify on anomaly detection
          - `notify_on_detection_webhooks` string[] — Webhook URLs (Slack or generic) to notify on anomaly detection
          - `daily_summary_teams_webhooks` string[] — Microsoft Teams webhook URLs for daily summary notification
          - `daily_summary_webhooks` string[] — Webhook URLs (Slack or generic) for daily summary notification
      - `priority` integer — Priority of the Grouping Rule for evaluation order
    - `precompute` boolean — Enable precomputation tagging of Dimension tagging on billing line items
    - `include_unallocated_cost` boolean — Enable Unallocated Cost grouping rule for this Dimension Version

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `500` — Internal Server Error

---

[API](https://skmtc.dev/corestack/apis/corestack-external-api.md) · [All operations](https://skmtc.dev/corestack/apis/corestack-external-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/corestack/corestack-external-api/revisions/bf2cdf20826d/schema)
