diff --git a/docs/common-workflows/administration/manage-system-prompts/appendix/system-prompt-index.md b/docs/common-workflows/administration/manage-system-prompts/appendix/system-prompt-index.md
new file mode 100644
index 00000000..0f189b89
--- /dev/null
+++ b/docs/common-workflows/administration/manage-system-prompts/appendix/system-prompt-index.md
@@ -0,0 +1,49 @@
+---
+title: System Prompt Index
+Description: System Prompt Index
+---
+
+This page displays the index of system prompts which can be used to manage system prompts.
+
+| Index | Description |
+| ----- | ------------------------ |
+| 59 | SSO Text Attribute 1 |
+| 60 | SSO Text Attribute 2 |
+| 61 | SSO Text Attribute 3 |
+| 62 | SSO Text Attribute 4 |
+| 63 | SSO Text Attribute 5 |
+| 64 | SSO Text Attribute 6 |
+| 65 | SSO Text Attribute 7 |
+| 66 | SSO Text Attribute 8 |
+| 67 | SSO Text Attribute 9 |
+| 68 | SSO Text Attribute 10 |
+| 69 | SSO Text Attribute 11 |
+| 70 | SSO Text Attribute 12 |
+| 71 | SSO Text Attribute 13 |
+| 72 | SSO Text Attribute 14 |
+| 73 | SSO Text Attribute 15 |
+| 74 | SSO Numeric Attribute 1 |
+| 75 | SSO Numeric Attribute 2 |
+| 76 | SSO Numeric Attribute 3 |
+| 77 | SSO Numeric Attribute 4 |
+| 78 | SSO Numeric Attribute 5 |
+| 79 | SSO Numeric Attribute 6 |
+| 80 | SSO Numeric Attribute 7 |
+| 81 | SSO Numeric Attribute 8 |
+| 82 | SSO Numeric Attribute 9 |
+| 83 | SSO Numeric Attribute 10 |
+| 84 | SSO Numeric Attribute 11 |
+| 85 | SSO Numeric Attribute 12 |
+| 86 | SSO Numeric Attribute 13 |
+| 87 | SSO Numeric Attribute 14 |
+| 88 | SSO Numeric Attribute 15 |
+| 89 | SSO Date Attribute 1 |
+| 90 | SSO Date Attribute 2 |
+| 91 | SSO Date Attribute 3 |
+| 92 | SSO Date Attribute 4 |
+| 93 | SSO Date Attribute 5 |
+| 94 | SSO Date Attribute 6 |
+| 95 | SSO Date Attribute 7 |
+| 96 | SSO Date Attribute 8 |
+| 97 | SSO Date Attribute 9 |
+| 98 | SSO Date Attribute 10 |
diff --git a/docs/common-workflows/administration/manage-system-prompts/get-system-prompts/get-system-prompts.md b/docs/common-workflows/administration/manage-system-prompts/get-system-prompts/get-system-prompts.md
new file mode 100644
index 00000000..2297180c
--- /dev/null
+++ b/docs/common-workflows/administration/manage-system-prompts/get-system-prompts/get-system-prompts.md
@@ -0,0 +1,88 @@
+---
+title: Get System Prompts
+Description: Get System Prompts of a user.
+---
+
+This workflow sample demonstrates how to get user system prompts.
+
+:::info
+
+Obtain the authorization token needed to execute the request using
+[POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin).
+
+Obtain the user ID from
+[GET /api/users](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/User%20Management/getUsers).
+
+:::
+
+## Get System Prompts
+
+Use this workflow to quickly get system prompts for a user.
+
+### Request URL
+
+```bash
+GET /api/users/{userId}/systemprompts
+```
+
+- userId: The ID of the user to retrieve system prompts for
+
+**Note:** You can obtain the user ID from the response of
+[GET /api/users](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/User%20Management/getUsers).
+
+### Request Headers
+
+| Name | Type | Description |
+| ------------------ | ------ | ----------------------------------------------------- |
+| `X-MSTR-AuthToken` | Header | Authorization token generated by POST /api/auth/login |
+
+### Sample Curl Request
+
+```bash
+curl -X GET 'http://demo.microstrategy.com/MicroStrategyLibrary/api/users/E697E885F6426C1F0B794593D648AFC0/systemprompts' \
+-H 'X-MSTR-AuthToken: h979btnpbep63peg8ind69ot79' \
+```
+
+### Response Body Schema
+
+If successful, this request returns a `200` status code and a list of system prompts.
+
+```json
+{
+ "systemPrompts": [
+ {
+ "index": 0,
+ "prompt": "string"
+ }
+ ]
+}
+```
+
+- index: System Prompt Index
+- prompt: System Prompt Value
+
+### Sample Response Body
+
+```json
+{
+ "systemPrompts": [
+ {
+ "index": 59,
+ "prompt": "Alen"
+ },
+ {
+ "index": 74,
+ "prompt": "60"
+ }
+ ]
+}
+```
+
+### HTTP Status Codes
+
+| Status Code | Description |
+| ----------- | --------------------- |
+| 200 | OK |
+| 500 | Internal Server Error |
+| 401 | Unauthorized |
+| 400 | Bad Request |
diff --git a/docs/common-workflows/administration/manage-system-prompts/manage-system-prompts.md b/docs/common-workflows/administration/manage-system-prompts/manage-system-prompts.md
new file mode 100644
index 00000000..83c3eabd
--- /dev/null
+++ b/docs/common-workflows/administration/manage-system-prompts/manage-system-prompts.md
@@ -0,0 +1,9 @@
+---
+title: Manage System Prompts
+Description: Manage system prompts using the Strategy REST API.
+---
+
+You can use REST API requests to manage system prompts:
+
+- [Get system prompts of a user](get-system-prompts/get-system-prompts.md)
+- [Update system prompts of a user](update-system-prompts/update-system-prompts.md)
diff --git a/docs/common-workflows/administration/manage-system-prompts/update-system-prompts/update-system-prompts.md b/docs/common-workflows/administration/manage-system-prompts/update-system-prompts/update-system-prompts.md
new file mode 100644
index 00000000..5770ef97
--- /dev/null
+++ b/docs/common-workflows/administration/manage-system-prompts/update-system-prompts/update-system-prompts.md
@@ -0,0 +1,145 @@
+---
+title: Update System Prompts
+Description: Update System Prompts for a user.
+---
+
+This workflow sample demonstrates how to update user system prompts.
+
+:::info
+
+Obtain the authorization token needed to execute the request using
+[POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin).
+
+Obtain the user ID from
+[GET /api/users](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/User%20Management/getUsers).
+
+:::
+
+## Update System Prompts
+
+Use this workflow to quickly update system prompts for a user.
+
+### Request URL
+
+```bash
+POST /api/users/{userId}/systemprompts
+```
+
+- userId: The ID of the user to update system prompts for
+
+**Note:** You can obtain the user ID from the response of
+[GET /api/users](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/User%20Management/getUsers).
+
+### Request Headers
+
+| Name | Type | Description |
+| ------------------ | ------ | ----------------------------------------------------- |
+| `X-MSTR-AuthToken` | Header | Authorization token generated by POST /api/auth/login |
+
+### Request Body Schema
+
+```json
+{
+ "systemPrompts": [
+ {
+ "index": 0,
+ "prompt": "string"
+ }
+ ]
+}
+```
+
+- index: System Prompt Index
+- prompt: System Prompt Value
+
+### Sample Request Body
+
+```json
+{
+ "systemPrompts": [
+ {
+ "index": 59,
+ "prompt": "Alen"
+ },
+ {
+ "index": 74,
+ "prompt": "60"
+ }
+ ]
+}
+```
+
+You can use this endpoint to clear user system prompts by setting the prompts list to an
+empty array.
+
+```json
+{
+ "systemPrompts": []
+}
+```
+
+### Sample Curl Request
+
+```bash
+curl -X 'POST' 'http://demo.microstrategy.com/MicroStrategyLibrary/api/users/E697E885F6426C1F0B794593D648AFC0/systemprompts' \
+-H 'accept: application/json' \
+-H 'X-MSTR-AuthToken: h979btnpbep63peg8ind69ot79' \
+-H 'Content-Type: application/json' \
+-d '{
+ "systemPrompts": [
+ {
+ "index": 59,
+ "prompt": "Alen"
+ },
+ {
+ "index": 74,
+ "prompt": "60"
+ }
+ ]
+}'
+```
+
+### Response Body Schema
+
+If successful, this API call returns a `200 OK` status code and a list of system prompts in the
+response body.
+
+```json
+{
+ "systemPrompts": [
+ {
+ "index": 0,
+ "prompt": "string"
+ }
+ ]
+}
+```
+
+- index: System Prompt Index
+- prompt: System Prompt Value
+
+#### Sample Response
+
+```json
+{
+ "systemPrompts": [
+ {
+ "index": 59,
+ "prompt": "Alen"
+ },
+ {
+ "index": 74,
+ "prompt": "60"
+ }
+ ]
+}
+```
+
+### HTTP Status Codes
+
+| Status Code | Description |
+| ----------- | --------------------- |
+| 200 | OK |
+| 500 | Internal Server Error |
+| 401 | Unauthorized |
+| 400 | Bad Request |
diff --git a/docs/common-workflows/modeling/manage-scope-filter-objects/create-a-scope-filter-object.md b/docs/common-workflows/modeling/manage-scope-filter-objects/create-a-scope-filter-object.md
new file mode 100644
index 00000000..a8ea9574
--- /dev/null
+++ b/docs/common-workflows/modeling/manage-scope-filter-objects/create-a-scope-filter-object.md
@@ -0,0 +1,182 @@
+---
+title: Create a scope filter object
+sidebar_label: Create a scope filter object
+description: This workflow sample demonstrates how to create a new scope filter object using the Modeling service.
+---
+
+
+
+:::tip
+
+You can try out this workflow at [REST API Playground](https://www.postman.com/microstrategysdk/microstrategy-rest-api/collection/5aq5sem/strategy-rest-api-workflows).
+
+Learn more about Strategy REST API Playground [here](/docs/getting-started/playground.md).
+
+:::
+
+This workflow sample demonstrates how to create a new scope filter object using the Modeling service.
+
+1. Create a changeset
+1. [Create a scope filter definition](#create-a-new-scope-filter)
+1. Commit the changeset
+1. Delete the changeset
+
+:::info
+
+Get the authorization token needed to execute the request with [POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin).
+
+Get the project ID from [GET /api/projects](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Projects/getProjects_1).
+
+:::
+
+Changesets are used in this workflow. For information on how to create and use changesets, see [Changesets](/docs/common-workflows/modeling/changesets.md).
+
+## Create a new scope filter
+
+Endpoint: [POST /api/model/scopeFilters](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Scope%20Filters/postScopeFilter).
+
+You want to create a new scope filter with a "Customer last name equals Smith" qualification under the Public Objects folder in the MicroStrategy Tutorial project. The folder object ID is `98FE182C2A10427EACE0CD30B6768258`.
+
+Sample Request Header:
+
+```http
+ "accept": "application/json"
+ "X-MSTR-AuthToken": "ns42kvi9lb36ae7g3scphn0ga9"
+ "X-MSTR-MS-Changeset": "8DF1659E9D74484D9D47B9478D4C7D00"
+```
+
+Sample Request Body:
+
+```json
+{
+ "information": {
+ "subType": "global_filter",
+ "name": "new scope filter",
+ "destinationFolderId": "98FE182C2A10427EACE0CD30B6768258"
+ },
+ "controlType": "view",
+ "conditions": [
+ {
+ "expressionType": "attribute",
+ "question": {
+ "predefinedObjects": [
+ {
+ "name": "Customer",
+ "objectId": "8D679D3C11D3E4981000E787EC6DE8A4",
+ "subType": "attribute"
+ }
+ ]
+ },
+ "defaultAnswer": {
+ "qualification": {
+ "tree": {
+ "type": "predicate_form_qualification",
+ "predicateTree": {
+ "attribute": {
+ "name": "Customer",
+ "objectId": "8D679D3C11D3E4981000E787EC6DE8A4",
+ "subType": "attribute"
+ },
+ "form": {
+ "objectId": "8D67A35B11D3E4981000E787EC6DE8A4",
+ "subType": "attribute_form_system",
+ "name": "Last Name"
+ },
+ "parameters": [
+ {
+ "parameterType": "constant",
+ "constant": {
+ "type": "string",
+ "value": "Smith"
+ }
+ }
+ ],
+ "function": "equals"
+ }
+ }
+ }
+ }
+ }
+ ]
+}
+```
+
+Sample Curl:
+
+```bash
+curl -X POST "https://demo.microstrategy.com/MicroStrategyLibrary/api/scopeFilters/" -H "accept: application/json" -H "X-MSTR-AuthToken: ns42kvi9lb36ae7g3scphn0ga9" -H "X-MSTR-MS-Changeset: 8DF1659E9D74484D9D47B9478D4C7D00" -d '{"information":{"subType":"global_filter","name":"new scope filter","destinationFolderId":"98FE182C2A10427EACE0CD30B6768258"},"controlType":"view","conditions":[{"expressionType":"attribute","question":{"predefinedObjects":[{"name":"Customer","objectId":"8D679D3C11D3E4981000E787EC6DE8A4","subType":"attribute"}]},"defaultAnswer":{"qualification":{"tree":{"type":"predicate_form_qualification","predicateTree":{"attribute":{"name":"Customer","objectId":"8D679D3C11D3E4981000E787EC6DE8A4","subType":"attribute"},"form":{"objectId":"8D67A35B11D3E4981000E787EC6DE8A4","subType":"attribute_form_system","name":"Last Name"},"parameters":[{"parameterType":"constant","constant":{"type":"string","value":"Smith"}}],"function":"equals"}}}}}]}'
+```
+
+Sample Response Body: You can view the new scope filter's definition in the response body.
+
+```json
+{
+ "information": {
+ "dateCreated": "2025-10-25T05:20:36.565Z",
+ "dateModified": "2025-10-25T05:41:55.668Z",
+ "versionId": "0884D416481A675FA285D3B8E85FA896",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "639FF974194E4469896352772CB0B379",
+ "subType": "global_filter",
+ "name": "new scope filter",
+ "destinationFolderId": "98FE182C2A10427EACE0CD30B6768258"
+ },
+ "controlType": "view",
+ "conditions": [
+ {
+ "expressionType": "attribute",
+ "question": {
+ "predefinedObjects": [
+ {
+ "objectId": "8D679D3C11D3E4981000E787EC6DE8A4",
+ "subType": "attribute",
+ "name": "Customer"
+ }
+ ],
+ "displayForms": "all_forms"
+ },
+ "defaultAnswer": {
+ "qualification": {
+ "text": "Customer ({Last Name}) = \"Smith\"",
+ "tree": {
+ "type": "predicate_form_qualification",
+ "predicateId": "011453986C074889829F6CADA7F7E129",
+ "predicateText": "Customer ({Last Name}) = \"Smith\"",
+ "predicateTree": {
+ "function": "equals",
+ "parameters": [
+ {
+ "parameterType": "constant",
+ "constant": {
+ "type": "string",
+ "value": "Smith"
+ }
+ }
+ ],
+ "attribute": {
+ "objectId": "8D679D3C11D3E4981000E787EC6DE8A4",
+ "subType": "attribute",
+ "name": "Customer"
+ },
+ "form": {
+ "objectId": "8D67A35B11D3E4981000E787EC6DE8A4",
+ "subType": "attribute_form_system",
+ "name": "Last Name"
+ },
+ "dataLocale": "en-US"
+ }
+ }
+ }
+ },
+ "restriction": {
+ "required": false,
+ "allowPersonalAnswers": "none"
+ },
+ "id": "FD94DF5EFD7743EEAEF0ED32151A14E8"
+ }
+ ]
+}
+```
+
+Response Code: 201 (A new scope filter is created successfully in the changeset.)
diff --git a/docs/common-workflows/modeling/manage-scope-filter-objects/manage-scope-filter-objects.md b/docs/common-workflows/modeling/manage-scope-filter-objects/manage-scope-filter-objects.md
new file mode 100644
index 00000000..5827b8fc
--- /dev/null
+++ b/docs/common-workflows/modeling/manage-scope-filter-objects/manage-scope-filter-objects.md
@@ -0,0 +1,23 @@
+---
+title: Manage scope filter objects
+description: You can use REST API requests to retrieve, create, and update scope filter objects using the Modeling service.
+---
+
+
+
+:::tip
+
+You can try out these workflows at [REST API Playground](https://www.postman.com/microstrategysdk/microstrategy-rest-api/collection/5aq5sem/strategy-rest-api-workflows).
+
+Learn more about Strategy REST API Playground [here](/docs/getting-started/playground.md).
+
+:::
+
+You can use REST API requests to retrieve, create and update scope filter objects using the Modeling service:
+
+- [Retrieve a scope filter's definition](retrieve-a-scope-filter-definition.md)
+- [Retrieve a scope filter's definition within a changeset](retrieve-a-scope-filter-definition-within-a-changeset.md)
+- [Create a scope filter object](create-a-scope-filter-object.md)
+- [Update a scope filter's definition](update-a-scope-filter-definition.md)
+
+For more information about the Modeling service, see [Configuring the Modeling Service](https://www2.microstrategy.com/producthelp/Current/InstallConfig/en-us/Content/modeling_service.htm).
diff --git a/docs/common-workflows/modeling/manage-scope-filter-objects/retrieve-a-scope-filter-definition-within-a-changeset.md b/docs/common-workflows/modeling/manage-scope-filter-objects/retrieve-a-scope-filter-definition-within-a-changeset.md
new file mode 100644
index 00000000..45a6e5d1
--- /dev/null
+++ b/docs/common-workflows/modeling/manage-scope-filter-objects/retrieve-a-scope-filter-definition-within-a-changeset.md
@@ -0,0 +1,128 @@
+---
+title: Retrieve a scope filter's definition within a changeset
+sidebar_label: Retrieve a scope filter's definition within a changeset
+description: This workflow sample demonstrates how to retrieve a scope filter's definition within a changeset.
+---
+
+
+
+:::tip
+
+You can try out this workflow at [REST API Playground](https://www.postman.com/microstrategysdk/microstrategy-rest-api/collection/5aq5sem/strategy-rest-api-workflows).
+
+Learn more about Strategy REST API Playground [here](/docs/getting-started/playground.md).
+
+:::
+
+This workflow sample demonstrates how to retrieve a scope filter's definition within a changeset.
+
+Changesets are used in this workflow. For information on how to create and use changesets, see [Changesets](/docs/common-workflows/modeling/changesets.md). If you plan to use the response of `GET /api/model/scopeFilters/{scopeFilterId}` to create a new filter or update the filter's definition, Strategy recommends to associate all requests to one changeset.
+
+1. Create a changeset.
+1. [Get the scope filter's definition within a changeset.](#get-a-scope-filter-definition-within-a-changeset)
+1. Delete the changeset.
+
+:::info
+
+Get the authorization token needed to execute the request with [POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin).
+
+Get the project ID from [GET /api/projects](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Projects/getProjects_1).
+
+:::
+
+## Get a scope filter definition within a changeset
+
+You want to get the definition of the scope filter with a "Customer last name equals Smith" qualification. The scope filter ID is `639FF974194E4469896352772CB0B379`. The project ID is `B7CA92F04B9FAE8D941C3E9B7E0CD754`.
+
+Endpoint: [GET /api/model/scopeFilters/\{scopeFilterId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Scope%20Filters/getScopeFilter)
+
+Sample Request Header:
+
+```http
+"accept": "application/json"
+"X-MSTR-AuthToken": "pisu5dkkutqfblaamdomgr00ch"
+"X-MSTR-MS-Changeset": "0E9F01172ECF4BA2BB510F7B9FB4F6E8"
+```
+
+Sample Request Body: Empty
+
+Sample Curl:
+
+```bash
+curl -X GET "https://demo.microstrategy.com/MicroStrategyLibrary/api/model/scopeFilters/639FF974194E4469896352772CB0B379" -H "accept: application/json" -H "X-MSTR-AuthToken: pisu5dkkutqfblaamdomgr00ch" -H "X-MSTR-MS-Changeset: 0E9F01172ECF4BA2BB510F7B9FB4F6E8"
+```
+
+Sample Response Body:
+
+You can view the scope filter's definition in the response body.
+
+```json
+{
+ "information": {
+ "dateCreated": "2025-10-25T05:20:36.565Z",
+ "dateModified": "2025-10-25T05:41:55.668Z",
+ "versionId": "0884D416481A675FA285D3B8E85FA896",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "639FF974194E4469896352772CB0B379",
+ "subType": "global_filter",
+ "name": "new scope filter"
+ },
+ "controlType": "view",
+ "conditions": [
+ {
+ "expressionType": "attribute",
+ "question": {
+ "predefinedObjects": [
+ {
+ "objectId": "8D679D3C11D3E4981000E787EC6DE8A4",
+ "subType": "attribute",
+ "name": "Customer"
+ }
+ ],
+ "displayForms": "all_forms"
+ },
+ "defaultAnswer": {
+ "qualification": {
+ "text": "Customer ({Last Name}) = \"Smith\"",
+ "tree": {
+ "type": "predicate_form_qualification",
+ "predicateId": "011453986C074889829F6CADA7F7E129",
+ "predicateText": "Customer ({Last Name}) = \"Smith\"",
+ "predicateTree": {
+ "function": "equals",
+ "parameters": [
+ {
+ "parameterType": "constant",
+ "constant": {
+ "type": "string",
+ "value": "Smith"
+ }
+ }
+ ],
+ "attribute": {
+ "objectId": "8D679D3C11D3E4981000E787EC6DE8A4",
+ "subType": "attribute",
+ "name": "Customer"
+ },
+ "form": {
+ "objectId": "8D67A35B11D3E4981000E787EC6DE8A4",
+ "subType": "attribute_form_system",
+ "name": "Last Name"
+ },
+ "dataLocale": "en-US"
+ }
+ }
+ }
+ },
+ "restriction": {
+ "required": false,
+ "allowPersonalAnswers": "none"
+ },
+ "id": "FD94DF5EFD7743EEAEF0ED32151A14E8"
+ }
+ ]
+}
+```
+
+Response Code: 200 (The scope filter's definition is returned successfully.)
diff --git a/docs/common-workflows/modeling/manage-scope-filter-objects/retrieve-a-scope-filter-definition.md b/docs/common-workflows/modeling/manage-scope-filter-objects/retrieve-a-scope-filter-definition.md
new file mode 100644
index 00000000..10d958ca
--- /dev/null
+++ b/docs/common-workflows/modeling/manage-scope-filter-objects/retrieve-a-scope-filter-definition.md
@@ -0,0 +1,122 @@
+---
+title: Retrieve a scope filter's definition
+sidebar_label: Retrieve a scope filter's definition
+description: This workflow sample demonstrates how to retrieve a scope filter's definition.
+---
+
+
+
+:::tip
+
+You can try out this workflow at [REST API Playground](https://www.postman.com/microstrategysdk/microstrategy-rest-api/collection/5aq5sem/strategy-rest-api-workflows).
+
+Learn more about Strategy REST API Playground [here](/docs/getting-started/playground.md).
+
+:::
+
+This workflow sample demonstrates how to retrieve a scope filter's definition.
+
+## Retrieve a scope filter's definition
+
+You want to get the definition of the scope filter with a "Customer last name equals Smith" qualification. The scope filter ID is `639FF974194E4469896352772CB0B379`. The project ID is `B7CA92F04B9FAE8D941C3E9B7E0CD754`.
+
+:::info
+
+Get the authorization token needed to execute the request with [POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin).
+
+Get the project ID from [GET /api/projects](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Projects/getProjects_1).
+
+:::
+
+Retrieve the scope filter's definition using [GET /api/model/scopeFilters/\{scopeFilterId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Scope%20Filters/getScopeFilter).
+
+Sample Request Header:
+
+```http
+"accept": "application/json"
+"X-MSTR-AuthToken": "4bb7n1dhjo860e7tlpchg57hl"
+"X-MSTR-ProjectID": "B7CA92F04B9FAE8D941C3E9B7E0CD754"
+```
+
+Sample Request Body: Empty
+
+Sample Curl:
+
+```bash
+curl -X GET "https://demo.microstrategy.com/MicroStrategyLibrary/api/model/scopeFilters/639FF974194E4469896352772CB0B379" -H "accept: application/json" -H "X-MSTR-AuthToken: 4bb7n1dhjo860e7tlpchg57hl" -H "X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754"
+```
+
+Sample Response Body:
+
+You can view the scope filter's definition in the response body.
+
+```json
+{
+ "information": {
+ "dateCreated": "2025-10-25T05:20:36.565Z",
+ "dateModified": "2025-10-25T05:41:55.668Z",
+ "versionId": "0884D416481A675FA285D3B8E85FA896",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "639FF974194E4469896352772CB0B379",
+ "subType": "global_filter",
+ "name": "new scope filter"
+ },
+ "controlType": "view",
+ "conditions": [
+ {
+ "expressionType": "attribute",
+ "question": {
+ "predefinedObjects": [
+ {
+ "objectId": "8D679D3C11D3E4981000E787EC6DE8A4",
+ "subType": "attribute",
+ "name": "Customer"
+ }
+ ],
+ "displayForms": "all_forms"
+ },
+ "defaultAnswer": {
+ "qualification": {
+ "text": "Customer ({Last Name}) = \"Smith\"",
+ "tree": {
+ "type": "predicate_form_qualification",
+ "predicateId": "011453986C074889829F6CADA7F7E129",
+ "predicateText": "Customer ({Last Name}) = \"Smith\"",
+ "predicateTree": {
+ "function": "equals",
+ "parameters": [
+ {
+ "parameterType": "constant",
+ "constant": {
+ "type": "string",
+ "value": "Smith"
+ }
+ }
+ ],
+ "attribute": {
+ "objectId": "8D679D3C11D3E4981000E787EC6DE8A4",
+ "subType": "attribute",
+ "name": "Customer"
+ },
+ "form": {
+ "objectId": "8D67A35B11D3E4981000E787EC6DE8A4",
+ "subType": "attribute_form_system",
+ "name": "Last Name"
+ },
+ "dataLocale": "en-US"
+ }
+ }
+ }
+ },
+ "restriction": {
+ "required": false,
+ "allowPersonalAnswers": "none"
+ },
+ "id": "FD94DF5EFD7743EEAEF0ED32151A14E8"
+ }
+ ]
+}
+```
+
+Response Code: 200 (The scope filter's definition was returned successfully.)
diff --git a/docs/common-workflows/modeling/manage-scope-filter-objects/update-a-scope-filter-definition.md b/docs/common-workflows/modeling/manage-scope-filter-objects/update-a-scope-filter-definition.md
new file mode 100644
index 00000000..d247a42b
--- /dev/null
+++ b/docs/common-workflows/modeling/manage-scope-filter-objects/update-a-scope-filter-definition.md
@@ -0,0 +1,145 @@
+---
+title: Update a scope filter's definition
+sidebar_label: Update a scope filter's definition
+description: This workflow sample demonstrates how to update a scope filter's definition using the Modeling service.
+---
+
+
+
+:::tip
+
+You can try out this workflow at [REST API Playground](https://www.postman.com/microstrategysdk/microstrategy-rest-api/collection/5aq5sem/strategy-rest-api-workflows).
+
+Learn more about Strategy REST API Playground [here](/docs/getting-started/playground.md).
+
+:::
+
+This workflow sample demonstrates how to update a scope filter's definition through the using service.
+
+1. Create a changeset
+1. [Update a scope filter definition](#update-a-scope-filter)
+1. Commit the changeset
+1. Delete the changeset
+
+:::info
+
+Get the authorization token needed to execute the request with [POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin).
+
+Get the project ID from [GET /api/projects](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Projects/getProjects_1).
+
+:::
+
+Changesets are used in this workflow. For information on how to create and use changesets, see [Changesets](/docs/common-workflows/modeling/changesets.md).
+
+## Update a scope filter
+
+Endpoint:[PUT /api/model/scopeFilters/\{scopeFilterId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Scope%20Filters/putScopeFilter)
+
+You want to update the scope filter to have an attribute elements prompt based on the "Customer" attribute. The attribute elements should be in the "Smith:Laurell" and "Smith:Sarah" lists.
+
+Sample Request Header:
+
+```http
+"accept": "application/json"
+"X-MSTR-AuthToken": "frbicqfk7btoggg5bnu450hrqt"
+"X-MSTR-MS-Changeset": "C4F6B0E4C87F46EF9B6C5690DFFF87C1"
+```
+
+Sample Request Body:
+
+```json
+{
+ "information": {
+ "name": "new scope filter"
+ },
+ "controlType": "view",
+ "conditions": [
+ {
+ "question": {
+ "attribute": {
+ "objectId": "8D679D3C11D3E4981000E787EC6DE8A4",
+ "subType": "attribute",
+ "name": "Customer"
+ },
+ "listAllElements": true
+ },
+ "defaultAnswer": {
+ "elements": [
+ {
+ "display": "Smith:Laurell",
+ "elementId": "h564"
+ },
+ {
+ "display": "Smith:Sarah",
+ "elementId": "h565"
+ }
+ ]
+ },
+ "restriction": {
+ "required": false,
+ "allowPersonalAnswers": "none",
+ "min": 1
+ },
+ "function": "in",
+ "id": "FD94DF5EFD7743EEAEF0ED32151A14E8"
+ }
+ ]
+}
+```
+
+Sample Curl:
+
+```bash
+curl -X PUT "https://demo.microstrategy.com/MicroStrategyLibrary/api/scopeFilters/639FF974194E4469896352772CB0B379" -H "accept: application/json" -H "X-MSTR-AuthToken: frbicqfk7btoggg5bnu450hrqt" -H "X-MSTR-MS-Changeset: C4F6B0E4C87F46EF9B6C5690DFFF87C1" -d '{"information":{"name":"new scope filter"},"controlType":"view","conditions":[{"question":{"attribute":{"objectId":"8D679D3C11D3E4981000E787EC6DE8A4","subType":"attribute","name":"Customer"},"listAllElements":true},"defaultAnswer":{"elements":[{"display":"Smith:Laurell","elementId":"h564"},{"display":"Smith:Sarah","elementId":"h565"}]},"restriction":{"required":false,"allowPersonalAnswers":"none","min":1},"function":"in","id":"FD94DF5EFD7743EEAEF0ED32151A14E8"}]}'
+```
+
+Sample Response Body: You can view the scope filter's new definition in the response body.
+
+```json
+{
+ "information": {
+ "dateCreated": "2025-10-25T05:20:36.565Z",
+ "dateModified": "2025-10-25T09:20:22.989Z",
+ "versionId": "9E9D1EB3478833521A9B43A9C1A6E159",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "639FF974194E4469896352772CB0B379",
+ "subType": "global_filter",
+ "name": "new scope filter"
+ },
+ "controlType": "view",
+ "conditions": [
+ {
+ "question": {
+ "attribute": {
+ "objectId": "8D679D3C11D3E4981000E787EC6DE8A4",
+ "subType": "attribute",
+ "name": "Customer"
+ },
+ "listAllElements": true
+ },
+ "defaultAnswer": {
+ "elements": [
+ {
+ "display": "Smith:Laurell",
+ "elementId": "h564"
+ },
+ {
+ "display": "Smith:Sarah",
+ "elementId": "h565"
+ }
+ ]
+ },
+ "restriction": {
+ "required": false,
+ "allowPersonalAnswers": "none",
+ "min": 1
+ },
+ "function": "in",
+ "id": "FD94DF5EFD7743EEAEF0ED32151A14E8"
+ }
+ ]
+}
+```
+
+Response Code: 200 (The scope filter's definition is updated successfully in the changeset.)
diff --git a/docs/common-workflows/modeling/manage-system-hierarchy/manage-system-hierarchy.md b/docs/common-workflows/modeling/manage-system-hierarchy/manage-system-hierarchy.md
new file mode 100644
index 00000000..4c92ca94
--- /dev/null
+++ b/docs/common-workflows/modeling/manage-system-hierarchy/manage-system-hierarchy.md
@@ -0,0 +1,20 @@
+---
+title: Manage the system hierarchy
+description: You can use REST API requests to manage the system hierarchy.
+---
+
+
+
+:::tip
+
+You can try these workflows with [REST API Playground](https://www.postman.com/microstrategysdk/microstrategy-rest-api/collection/5aq5sem/strategy-rest-api-workflows).
+
+Learn more about Strategy REST API Playground [here](/docs/getting-started/playground.md).
+
+:::
+
+You can use REST API requests to manage the system hierarchy:
+
+- [Retrieve all relationships in the system hierarchy](retrieve-all-the-relationships-in-the-system-hierarchy.md)
+
+For more information about the Modeling service, see [Configuring the Modeling Service](https://www2.microstrategy.com/producthelp/Current/InstallConfig/en-us/Content/modeling_service.htm).
diff --git a/docs/common-workflows/modeling/manage-system-hierarchy/retrieve-all-the-relationships-in-the-system-hierarchy.md b/docs/common-workflows/modeling/manage-system-hierarchy/retrieve-all-the-relationships-in-the-system-hierarchy.md
new file mode 100644
index 00000000..c29bc88f
--- /dev/null
+++ b/docs/common-workflows/modeling/manage-system-hierarchy/retrieve-all-the-relationships-in-the-system-hierarchy.md
@@ -0,0 +1,144 @@
+---
+title: Retrieve all relationships stored in the system hierarchy
+description: This workflow demonstrates how to retrieve all the relationships stored in the system hierarchy using REST API.
+---
+
+
+
+This workflow sample demonstrates how to retrieve all relationships stored in the system hierarchy using the REST API with and without a changeset.
+
+:::info
+
+Get the authorization token needed to execute the request with [POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin).
+
+Get the project ID from [GET /api/projects](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Projects/getProjects_1).
+
+:::
+
+:::tip
+
+Changesets are used in this workflow. For information on how to create and use changesets, see [Changesets](/docs/common-workflows/modeling/changesets.md).
+
+:::
+
+You can retrieve all relationships stored in the system hierarchy using the following endpoint: [GET /api/model/systemHierarchy](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/System%20Hierarchy/getSystemHierarchy)
+
+Sample Request Without Changeset
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: 8cmbn319k4s8fpujoe7lnl3l4q'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+- Curl
+
+```bash
+curl -L -X GET 'http://demo.microstrategy.com/MicroStrategyLibrary/api/model/systemHierarchy' \
+-H 'X-MSTR-AuthToken: 8cmbn319k4s8fpujoe7lnl3l4q' \
+-H 'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+Sample Request With Changeset
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: 8cmbn319k4s8fpujoe7lnl3l4q'
+'X-MSTR-MS-Changeset: 768A0AA9E94547218BA930DD4245186B'
+```
+
+- Curl
+
+```bash
+curl -L -X GET 'http://demo.microstrategy.com/MicroStrategyLibrary/api/model/systemHierarchy' \
+-H 'X-MSTR-AuthToken: 8cmbn319k4s8fpujoe7lnl3l4q' \
+-H 'X-MSTR-MS-Changeset: 768A0AA9E94547218BA930DD4245186B'
+```
+
+Sample Response Body:
+
+```json
+{
+ "relationships": [
+ {
+ "parent": {
+ "objectId": "8D679D3411D3E4981000E787EC6DE8A4",
+ "subType": "attribute",
+ "name": "Employee Birth Date"
+ },
+ "child": {
+ "objectId": "8D679D3F11D3E4981000E787EC6DE8A4",
+ "subType": "attribute",
+ "name": "Employee"
+ },
+ "relationshipTable": {
+ "objectId": "8D67936811D3E4981000E787EC6DE8A4",
+ "subType": "logical_table",
+ "name": "LU_EMPLOYEE"
+ },
+ "relationshipType": "one_to_many"
+ },
+ {
+ "parent": {
+ "objectId": "6E069EA411D3E4E41000E887EC6DE8A4",
+ "subType": "attribute",
+ "name": "Employee Age"
+ },
+ "child": {
+ "objectId": "8D679D3411D3E4981000E787EC6DE8A4",
+ "subType": "attribute",
+ "name": "Employee Birth Date"
+ },
+ "relationshipTable": {
+ "objectId": "8D67936811D3E4981000E787EC6DE8A4",
+ "subType": "logical_table",
+ "name": "LU_EMPLOYEE"
+ },
+ "relationshipType": "one_to_many"
+ },
+ {
+ "parent": {
+ "objectId": "8D679D3511D3E4981000E787EC6DE8A4",
+ "subType": "attribute",
+ "name": "Call Center"
+ },
+ "child": {
+ "objectId": "8D679D3F11D3E4981000E787EC6DE8A4",
+ "subType": "attribute",
+ "name": "Employee"
+ },
+ "relationshipTable": {
+ "objectId": "8D67936811D3E4981000E787EC6DE8A4",
+ "subType": "logical_table",
+ "name": "LU_EMPLOYEE"
+ },
+ "relationshipType": "one_to_many"
+ }
+ ],
+ "isolatedAttributes": [
+ {
+ "objectId": "3F58258B437F5CE376CB658F89ADB3AB",
+ "subType": "attribute",
+ "name": "Days to Ship"
+ },
+ {
+ "objectId": "17C9B85E186D4C30BDF5F24810D0EDD4",
+ "subType": "attribute",
+ "name": "non-agg Attribute 0513"
+ },
+ {
+ "objectId": "E3BCF37F86D94A00B473D2AC2EA39AE3",
+ "subType": "attribute",
+ "name": "Name35"
+ }
+ ]
+}
+```
+
+Response Code: 200 (The relationships stored in the system hierarchy are returned successfully.)
diff --git a/docs/common-workflows/mosaic/end-to-end/create-a-data-model-from-scratch.md b/docs/common-workflows/mosaic/end-to-end/create-a-data-model-from-scratch.md
new file mode 100644
index 00000000..f5055a48
--- /dev/null
+++ b/docs/common-workflows/mosaic/end-to-end/create-a-data-model-from-scratch.md
@@ -0,0 +1,953 @@
+---
+title: Create a data model from scratch
+description: This workflow demonstrates how to create a data model from scratch using the REST API.
+---
+
+
+
+This workflow sample demonstrates how to create a data model from scratch using the REST API.
+
+:::info
+
+Get the authorization token needed to execute the request with [POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin).
+
+Get the project ID from [GET /api/projects](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Projects/getProjects_1).
+
+:::
+
+:::tip
+
+Changesets are used in this workflow. For information on how to create and use changesets, see [Changesets](/docs/common-workflows/modeling/changesets.md).
+
+:::
+
+## Create a data model
+
+You can create a data model from scratch using the REST API.
+
+Endpoint: [POST /api/dataModels](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Models/postDataModel)
+
+Sample Request
+
+- Curl
+
+```bash
+curl -L -X POST 'https://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels' \
+-H 'X-MSTR-MS-Changeset: DDBCD6A5AA1242478444229F8EC741A9' \
+-H 'X-MSTR-AuthToken: jo73smitlfcb5r3dlqvuv2tmmr' \
+-H 'Content-Type: application/json' \
+-d '{
+ "information": {
+ "name": "new data model",
+ "destinationFolderId": "D3C7D461F69C4610AA6BAA5EF51F4125"
+ },
+ "dataServeMode": "in_memory"
+}'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "information": {
+ "versionId": "D258BA398DA1494AB229846C2B04EBB8",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "45794172A2C44A769A095179D442B909",
+ "subType": "report_emma_cube",
+ "name": "new data model",
+ "destinationFolderId": "D3C7D461F69C4610AA6BAA5EF51F4125"
+ },
+ "dataServeMode": "in_memory",
+ "schemaFolderId": "0A99A06FB716423784642224BA298FE6",
+ "enableWrangleRecommendations": true,
+ "enableAutoHierarchyRelationships": true,
+ "sampling": {
+ "type": "first",
+ "rowCount": 1000
+ },
+ "partition": {
+ "mode": "automatic",
+ "number": 4
+ },
+ "autoJoin": true
+}
+```
+
+- Response Code: 201 (Success: Created)
+
+## Create a workspace
+
+After you create a data model, you must define tables. If you do not define tables, the data model will not work. As mentioned in [Create, Update, and Delete a Table](../manage-data-model-tables/create-update-and-delete-a-table.md), a pipeline string is required to create tables in the data model. To get the pipeline string, you need to create a pipeline in the workspace. Therefore, you must create a workspace.
+
+Endpoint: [POST /api/dataServer/workspaces](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Workspaces/postWorkspace)
+
+Sample Request
+
+- Curl
+
+```bash
+curl -L 'https://demo.microstrategy.com/MicroStrategyLibrary/api/dataServer/workspaces' \
+-H 'X-MSTR-AuthToken: jo73smitlfcb5r3dlqvuv2tmmr' \
+-H 'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754' \
+-H 'Content-Type: application/json' \
+-d '{
+ "name": "new workspace"
+}'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "id": "E3590077C677499D94EC2EA5B98096D6",
+ "name": "new workspace",
+ "sampling": {
+ "type": "first",
+ "rowCount": 1000
+ },
+ "dateCreated": "2025-09-28T06:24:21.128997094Z",
+ "dateModified": "2025-09-28T06:24:21.128998246Z",
+ "datasetServeMode": "in_memory",
+ "dssHost": "",
+ "dssPort": 0,
+ "pipelines": []
+}
+```
+
+- Response Code: 201 (Success: Created)
+
+## Create a pipeline
+
+After you have a workspace, you can create a pipeline in the workspace to manage pipeline tables.
+
+Endpoint: [POST /api/dataServer/workspaces/\{workspaceId}/pipelines](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Workspaces/createPipeline)
+
+Sample Request
+
+- Curl
+
+```bash
+curl -L -X POST 'https://demo.microstrategy.com/MicroStrategyLibrary/api/dataServer/workspaces/E3590077C677499D94EC2EA5B98096D6/pipelines' \
+-H 'X-MSTR-AuthToken: jo73smitlfcb5r3dlqvuv2tmmr' \
+-H 'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754' \
+-H 'Content-Type: application/json' \
+-d '{}'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "id": "4C46F18EE1E442E697FBA4F9B3495B04",
+ "rootTable": {
+ "id": "DBEE96159A8A47E4ADA0085E37F55395",
+ "type": "root",
+ "children": []
+ }
+}
+```
+
+- Response Code: 201 (Success: Created)
+
+## Create a pipeline table
+
+Now you have a pipeline, you can create a pipeline table in the pipeline.
+
+Endpoint: [POST /api/dataServer/workspaces/\{workspaceId}/pipelines/\{pipelineId}/tables](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Workspaces/createDataServerTable)
+
+Sample Request
+
+- Curl
+
+```bash
+curl -L -X POST 'https://demo.microstrategy.com/MicroStrategyLibrary/api/dataServer/workspaces/E3590077C677499D94EC2EA5B98096D6/pipelines/4C46F18EE1E442E697FBA4F9B3495B04/tables' \
+-H 'X-MSTR-AuthToken: jo73smitlfcb5r3dlqvuv2tmmr' \
+-H 'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754' \
+-H 'Content-Type: application/json' \
+-d '{
+ "name": "Source Table",
+ "type": "source",
+ "importSource": {
+ "dataSourceId": "E93B0C144F9EAF781E3993B5C439220D",
+ "type": "single_table",
+ "namespace": "public",
+ "tableName": "lu_year"
+ }
+}'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "id": "EC8508FAC5FE4299ADE4783F0182E0CC",
+ "name": "Source Table",
+ "type": "source",
+ "columns": [
+ {
+ "id": "7ED2F8A6EE744007807543E080F700F3",
+ "name": "year_id",
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ }
+ },
+ {
+ "id": "BA7373D6B3F84EA7BB3C15BAA95D179E",
+ "name": "year_date",
+ "dataType": {
+ "type": "time_stamp",
+ "precision": 26,
+ "scale": 6
+ },
+ "sourceDataType": {
+ "type": "time_stamp",
+ "precision": 26,
+ "scale": 6
+ }
+ },
+ {
+ "id": "920197083CF54ACABCDBB6845BEE38C7",
+ "name": "year_duration",
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ }
+ },
+ {
+ "id": "E876E5F31E2B47AF937591414738D489",
+ "name": "prev_year_id",
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ }
+ }
+ ],
+ "importSource": {
+ "type": "single_table",
+ "dataSourceId": "E93B0C144F9EAF781E3993B5C439220D",
+ "namespace": "public",
+ "tableName": "lu_year",
+ "sql": "",
+ "filterString": ""
+ },
+ "originalSchema": "{\"type\":\"struct\",\"fields\":[{\"name\":\"year_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"precision\":5,\"dssType\":\"short\",\"name\":\"year_id\",\"scale\":0}},{\"name\":\"year_date\",\"type\":\"timestamp\",\"nullable\":true,\"metadata\":{\"precision\":26,\"dssType\":\"time_stamp\",\"name\":\"year_date\",\"scale\":6}},{\"name\":\"year_duration\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"precision\":5,\"dssType\":\"short\",\"name\":\"year_duration\",\"scale\":0}},{\"name\":\"prev_year_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"precision\":5,\"dssType\":\"short\",\"name\":\"prev_year_id\",\"scale\":0}}]}"
+}
+```
+
+- Response Code: 201 (Success: Created)
+
+## Get the pipeline definition
+
+After you create the pipeline table, you can get the pipeline definition. The pipeline definition is required to create tables in the data model.
+
+**Note**: The pipeline definition is not required to create alias tables. These tables require physical table references in the request body.
+
+Endpoint: [GET /api/dataServer/workspaces/\{workspaceId}/pipelines/\{pipelineId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Workspaces/getPipeline)
+
+Sample Request
+
+- Curl
+
+```bash
+curl -L -X GET 'https://demo.microstrategy.com/MicroStrategyLibrary/api/dataServer/workspaces/E3590077C677499D94EC2EA5B98096D6/pipelines/4C46F18EE1E442E697FBA4F9B3495B04' \
+-H 'X-MSTR-AuthToken: jo73smitlfcb5r3dlqvuv2tmmr' \
+-H 'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "id": "4C46F18EE1E442E697FBA4F9B3495B04",
+ "rootTable": {
+ "id": "DBEE96159A8A47E4ADA0085E37F55395",
+ "type": "root",
+ "children": [
+ {
+ "id": "EC8508FAC5FE4299ADE4783F0182E0CC",
+ "name": "Source Table",
+ "type": "source",
+ "columns": [
+ {
+ "id": "7ED2F8A6EE744007807543E080F700F3",
+ "name": "year_id",
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ }
+ },
+ {
+ "id": "BA7373D6B3F84EA7BB3C15BAA95D179E",
+ "name": "year_date",
+ "dataType": {
+ "type": "time_stamp",
+ "precision": 26,
+ "scale": 6
+ },
+ "sourceDataType": {
+ "type": "time_stamp",
+ "precision": 26,
+ "scale": 6
+ }
+ },
+ {
+ "id": "920197083CF54ACABCDBB6845BEE38C7",
+ "name": "year_duration",
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ }
+ },
+ {
+ "id": "E876E5F31E2B47AF937591414738D489",
+ "name": "prev_year_id",
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ }
+ }
+ ],
+ "importSource": {
+ "type": "single_table",
+ "dataSourceId": "E93B0C144F9EAF781E3993B5C439220D",
+ "namespace": "public",
+ "tableName": "lu_year",
+ "sql": "",
+ "filterString": ""
+ },
+ "originalSchema": "{\"type\":\"struct\",\"fields\":[{\"name\":\"year_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"precision\":5,\"dssType\":\"short\",\"name\":\"year_id\",\"scale\":0}},{\"name\":\"year_date\",\"type\":\"timestamp\",\"nullable\":true,\"metadata\":{\"precision\":26,\"dssType\":\"time_stamp\",\"name\":\"year_date\",\"scale\":6}},{\"name\":\"year_duration\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"precision\":5,\"dssType\":\"short\",\"name\":\"year_duration\",\"scale\":0}},{\"name\":\"prev_year_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"precision\":5,\"dssType\":\"short\",\"name\":\"prev_year_id\",\"scale\":0}}]}"
+ }
+ ]
+ }
+}
+```
+
+- Response Code: 200 (Success: OK)
+
+## Create a table in the data model
+
+Before you create a table in the data model, you must stringify the pipeline definition and include it in the request body.
+
+After the table is created, you can create other data model objects such as attributes and base metrics based on the table, or metrics based on attributes and base metrics.
+
+Endpoint: [POST /api/model/dataModels/\{dataModelId}/tables](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Models/addDataModelTable)
+
+Sample Request
+
+- Curl
+
+```bash
+curl -L -X POST 'https://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels/45794172A2C44A769A095179D442B909/tables?fields=information%2CphysicalTable' \
+-H 'X-MSTR-MS-Changeset: DDBCD6A5AA1242478444229F8EC741A9' \
+-H 'X-MSTR-AuthToken: jo73smitlfcb5r3dlqvuv2tmmr' \
+-H 'Content-Type: application/json' \
+-H 'Cookie: JSESSIONID=31D36E8681E7428895F6C8DED54A1281; iSession=jo73smitlfcb5r3dlqvuv2tmmr; mstrRememberMe=ABFC525FBB1C45F094820D50C7AA0CBE; MSTRDEVICEID=6D0C8A89BC844B38AF1E4974D15AC76C; library-ingress="1051814a7721ec08"' \
+-d '{
+ "information": {
+ "name": "Year"
+ },
+ "physicalTable": {
+ "type": "pipeline",
+ "pipeline": "{\"id\":\"4C46F18EE1E442E697FBA4F9B3495B04\",\"rootTable\":{\"id\":\"DBEE96159A8A47E4ADA0085E37F55395\",\"type\":\"root\",\"children\":[{\"id\":\"EC8508FAC5FE4299ADE4783F0182E0CC\",\"name\":\"Source Table\",\"type\":\"source\",\"columns\":[{\"id\":\"7ED2F8A6EE744007807543E080F700F3\",\"name\":\"year_id\",\"dataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0},\"sourceDataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0}},{\"id\":\"BA7373D6B3F84EA7BB3C15BAA95D179E\",\"name\":\"year_date\",\"dataType\":{\"type\":\"time_stamp\",\"precision\":26,\"scale\":6},\"sourceDataType\":{\"type\":\"time_stamp\",\"precision\":26,\"scale\":6}},{\"id\":\"920197083CF54ACABCDBB6845BEE38C7\",\"name\":\"year_duration\",\"dataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0},\"sourceDataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0}},{\"id\":\"E876E5F31E2B47AF937591414738D489\",\"name\":\"prev_year_id\",\"dataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0},\"sourceDataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0}}],\"importSource\":{\"type\":\"single_table\",\"dataSourceId\":\"E93B0C144F9EAF781E3993B5C439220D\",\"namespace\":\"public\",\"tableName\":\"lu_year\",\"sql\":\"\",\"filterString\":\"\"},\"originalSchema\":\"{\\\"type\\\":\\\"struct\\\",\\\"fields\\\":[{\\\"name\\\":\\\"year_id\\\",\\\"type\\\":\\\"integer\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":5,\\\"dssType\\\":\\\"short\\\",\\\"name\\\":\\\"year_id\\\",\\\"scale\\\":0}},{\\\"name\\\":\\\"year_date\\\",\\\"type\\\":\\\"timestamp\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":26,\\\"dssType\\\":\\\"time_stamp\\\",\\\"name\\\":\\\"year_date\\\",\\\"scale\\\":6}},{\\\"name\\\":\\\"year_duration\\\",\\\"type\\\":\\\"integer\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":5,\\\"dssType\\\":\\\"short\\\",\\\"name\\\":\\\"year_duration\\\",\\\"scale\\\":0}},{\\\"name\\\":\\\"prev_year_id\\\",\\\"type\\\":\\\"integer\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":5,\\\"dssType\\\":\\\"short\\\",\\\"name\\\":\\\"prev_year_id\\\",\\\"scale\\\":0}}]}\"}]}}"
+ }
+}'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "information": {
+ "versionId": "BC7EE94261FD455CA635B268A2B49802",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "4E2759DBA47945BBB7535B2A4B039D01",
+ "subType": "logical_table",
+ "name": "Year",
+ "destinationFolderId": "0A99A06FB716423784642224BA298FE6"
+ },
+ "physicalTable": {
+ "information": {
+ "versionId": "A1116B85E7A84F0E86937058AFD3BEDA",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "5DD55D1BDD4B4DB1A1D676CB3D61092C",
+ "subType": "physical_table",
+ "name": "New DB Table",
+ "destinationFolderId": "EE9BD70043F0F571B38E43BF19B9301A"
+ },
+ "columns": [
+ {
+ "information": {
+ "versionId": "4266CCCE727144DEA010BD74860A14A3",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "F3C76BAFC1504EDD813F85FE483DAA9E",
+ "subType": "column",
+ "name": "year_id",
+ "destinationFolderId": "EE9BD70043F0F571B38E43BF19B9301A"
+ },
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "columnName": "year_id"
+ },
+ {
+ "information": {
+ "versionId": "39FFA7CE317043CB8040521D520E1BC0",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "28DCF919B13C4058B598415CA3E08D87",
+ "subType": "column",
+ "name": "year_date",
+ "destinationFolderId": "EE9BD70043F0F571B38E43BF19B9301A"
+ },
+ "dataType": {
+ "type": "time_stamp",
+ "precision": 26,
+ "scale": 6
+ },
+ "columnName": "year_date"
+ },
+ {
+ "information": {
+ "versionId": "E9D42C5689F94738880A8399043A457F",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "53E0674AE57E4E2A92657CCED767A3EA",
+ "subType": "column",
+ "name": "year_duration",
+ "destinationFolderId": "EE9BD70043F0F571B38E43BF19B9301A"
+ },
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "columnName": "year_duration"
+ },
+ {
+ "information": {
+ "versionId": "047E6F5EB56546E682A2196571D83873",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "E5BC1BFA40684D9EA158490830D01B59",
+ "subType": "column",
+ "name": "prev_year_id",
+ "destinationFolderId": "EE9BD70043F0F571B38E43BF19B9301A"
+ },
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "columnName": "prev_year_id"
+ }
+ ],
+ "type": "pipeline",
+ "pipeline": "{\"id\":\"4C46F18EE1E442E697FBA4F9B3495B04\",\"rootTable\":{\"id\":\"DBEE96159A8A47E4ADA0085E37F55395\",\"type\":\"root\",\"children\":[{\"columns\":[{\"id\":\"7ED2F8A6EE744007807543E080F700F3\",\"name\":\"year_id\",\"dataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0},\"sourceDataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0}},{\"id\":\"BA7373D6B3F84EA7BB3C15BAA95D179E\",\"name\":\"year_date\",\"dataType\":{\"type\":\"time_stamp\",\"precision\":26,\"scale\":6},\"sourceDataType\":{\"type\":\"time_stamp\",\"precision\":26,\"scale\":6}},{\"id\":\"920197083CF54ACABCDBB6845BEE38C7\",\"name\":\"year_duration\",\"dataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0},\"sourceDataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0}},{\"id\":\"E876E5F31E2B47AF937591414738D489\",\"name\":\"prev_year_id\",\"dataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0},\"sourceDataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0}}],\"importSource\":{\"type\":\"single_table\",\"dataSourceId\":\"E93B0C144F9EAF781E3993B5C439220D\",\"namespace\":\"public\",\"tableName\":\"lu_year\",\"sql\":\"\"},\"originalSchema\":\"{\\\"type\\\":\\\"struct\\\",\\\"fields\\\":[{\\\"name\\\":\\\"year_id\\\",\\\"type\\\":\\\"integer\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":5,\\\"dssType\\\":\\\"short\\\",\\\"name\\\":\\\"year_id\\\",\\\"scale\\\":0}},{\\\"name\\\":\\\"year_date\\\",\\\"type\\\":\\\"timestamp\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":26,\\\"dssType\\\":\\\"time_stamp\\\",\\\"name\\\":\\\"year_date\\\",\\\"scale\\\":6}},{\\\"name\\\":\\\"year_duration\\\",\\\"type\\\":\\\"integer\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":5,\\\"dssType\\\":\\\"short\\\",\\\"name\\\":\\\"year_duration\\\",\\\"scale\\\":0}},{\\\"name\\\":\\\"prev_year_id\\\",\\\"type\\\":\\\"integer\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":5,\\\"dssType\\\":\\\"short\\\",\\\"name\\\":\\\"prev_year_id\\\",\\\"scale\\\":0}}]}\",\"id\":\"EC8508FAC5FE4299ADE4783F0182E0CC\",\"name\":\"Source Table\",\"type\":\"source\"}]}}"
+ }
+}
+```
+
+- Response Code: 201 (Success: Created)
+
+## Create an attribute
+
+Endpoint: [POST /api/model/dataModels/\{dataModelId}/attributes](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Models/postDataModelAttribute).
+
+Sample Request
+
+- Curl
+
+```bash
+curl -L -X POST 'https://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels/45794172A2C44A769A095179D442B909/attributes' \
+-H 'X-MSTR-AuthToken: jo73smitlfcb5r3dlqvuv2tmmr' \
+-H 'X-MSTR-MS-Changeset: DDBCD6A5AA1242478444229F8EC741A9' \
+-H 'Content-Type: application/json' \
+-d '{
+ "information": {
+ "name": "Year",
+ "description": "Unique identifier for each year in the dataset."
+ },
+ "forms": [
+ {
+ "name": "Year ID",
+ "description": "Unique identifier for each year in the dataset.",
+ "displayFormat": "number",
+ "expressions": [
+ {
+ "expression": {
+ "tree": {
+ "objectId": "F3C76BAFC1504EDD813F85FE483DAA9E",
+ "type": "column_reference"
+ }
+ },
+ "tables": [
+ {
+ "objectId": "4E2759DBA47945BBB7535B2A4B039D01",
+ "subType": "logical_table"
+ }
+ ]
+ }
+ ],
+ "semanticRole": "fixed"
+ }
+ ],
+ "keyForm": {
+ "name": "Year ID"
+ },
+ "displays": {
+ "reportDisplays": [
+ {
+ "name": "Year ID"
+ }
+ ],
+ "browseDisplays": [
+ {
+ "name": "Year ID"
+ }
+ ]
+ },
+ "autoDetectLookupTable": true,
+ "attributeLookupTable": {
+ "objectId": "4E2759DBA47945BBB7535B2A4B039D01",
+ "subType": "logical_table"
+ }
+}'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "information": {
+ "versionId": "B3F7F9AA91494DB78263AA9FA6B71A95",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "F50F0AF7597845849B6168D6347E7601",
+ "subType": "attribute",
+ "name": "Year",
+ "description": "Unique identifier for each year in the dataset.",
+ "destinationFolderId": "0A99A06FB716423784642224BA298FE6"
+ },
+ "forms": [
+ {
+ "id": "45C11FA478E745FEA08D781CEA190FE5",
+ "name": "Year ID",
+ "description": "Unique identifier for each year in the dataset.",
+ "category": "ID",
+ "type": "system",
+ "displayFormat": "number",
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "expressions": [
+ {
+ "expressionId": "B03083AF853740519B5FE19BB10C14BA",
+ "expression": {
+ "text": "year_id"
+ },
+ "tables": [
+ {
+ "objectId": "4E2759DBA47945BBB7535B2A4B039D01",
+ "subType": "logical_table",
+ "name": "Year"
+ }
+ ]
+ }
+ ],
+ "alias": "year_id",
+ "lookupTable": {
+ "objectId": "4E2759DBA47945BBB7535B2A4B039D01",
+ "subType": "logical_table",
+ "name": "Year"
+ }
+ }
+ ],
+ "attributeLookupTable": {
+ "objectId": "4E2759DBA47945BBB7535B2A4B039D01",
+ "subType": "logical_table",
+ "name": "Year"
+ },
+ "keyForm": {
+ "id": "45C11FA478E745FEA08D781CEA190FE5",
+ "name": "Year ID"
+ },
+ "displays": {
+ "reportDisplays": [
+ {
+ "id": "45C11FA478E745FEA08D781CEA190FE5",
+ "name": "Year ID"
+ }
+ ],
+ "browseDisplays": [
+ {
+ "id": "45C11FA478E745FEA08D781CEA190FE5",
+ "name": "Year ID"
+ }
+ ]
+ },
+ "sorts": {},
+ "relationships": [],
+ "nonAggregatable": false,
+ "autoDetectLookupTable": true
+}
+```
+
+- Response Code: 201 (Success: Created)
+
+## Create a base metric
+
+Endpoint: [POST /api/model/dataModels/\{dataModelId}/factMetrics](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Models/postDataModelFactMetric).
+
+Sample Request
+
+- Curl
+
+```bash
+curl -L -X POST 'https://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels/45794172A2C44A769A095179D442B909/factMetrics' \
+-H 'X-MSTR-AuthToken: jo73smitlfcb5r3dlqvuv2tmmr' \
+-H 'X-MSTR-MS-Changeset: DDBCD6A5AA1242478444229F8EC741A9' \
+-H 'Content-Type: application/json' \
+-d '{
+ "information": {
+ "name": "Year Duration",
+ "subType": "fact_metric",
+ "description": "Number of days in each year, accounting for leap years."
+ },
+ "fact": {
+ "expressions": [
+ {
+ "expression": {
+ "tree": {
+ "type": "column_reference",
+ "objectId": "53E0674AE57E4E2A92657CCED767A3EA"
+ }
+ },
+ "tables": [
+ {
+ "objectId": "4E2759DBA47945BBB7535B2A4B039D01",
+ "subType": "logical_table"
+ }
+ ]
+ }
+ ]
+ },
+ "format": {
+ "header": [],
+ "values": [
+ {
+ "type": "number_category",
+ "value": "0"
+ },
+ {
+ "type": "number_decimal_places",
+ "value": "0"
+ },
+ {
+ "type": "number_thousand_separator",
+ "value": "false"
+ },
+ {
+ "type": "number_currency_symbol",
+ "value": ""
+ },
+ {
+ "type": "number_currency_position",
+ "value": "0"
+ },
+ {
+ "type": "number_negative_numbers",
+ "value": "1"
+ }
+ ]
+ },
+ "semanticRole": "fixed"
+}'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "information": {
+ "versionId": "E297463F0E5646BAA4B0F40BB9DC404C",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "C90D09DE9BD144F6A6D67A0E84ABAED7",
+ "subType": "fact_metric",
+ "name": "Year Duration",
+ "description": "Number of days in each year, accounting for leap years.",
+ "destinationFolderId": "0A99A06FB716423784642224BA298FE6"
+ },
+ "fact": {
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "expressions": [
+ {
+ "expressionId": "662190F1CEC044A99340F4AC35D8658F",
+ "expression": {
+ "text": "year_duration"
+ },
+ "tables": [
+ {
+ "objectId": "4E2759DBA47945BBB7535B2A4B039D01",
+ "subType": "logical_table",
+ "name": "Year"
+ }
+ ]
+ }
+ ],
+ "extensions": [],
+ "entryLevel": []
+ },
+ "function": "sum",
+ "functionProperties": [
+ {
+ "name": "UseLookupForAttributes",
+ "value": {
+ "type": "boolean",
+ "value": "false"
+ }
+ }
+ ],
+ "dimty": {
+ "dimtyUnits": [
+ {
+ "dimtyUnitType": "report_base_level",
+ "aggregation": "normal",
+ "filtering": "apply",
+ "groupBy": true
+ }
+ ],
+ "excludeAttribute": false,
+ "allowAddingUnit": true
+ },
+ "metricSubtotals": [
+ {
+ "definition": {
+ "objectId": "96C487AF4D12472A910C1ACACFB56EFB",
+ "subType": "system_subtotal",
+ "name": "Total"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "078C50834B484EE29948FA9DD5300ADF",
+ "subType": "system_subtotal",
+ "name": "Count"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "B328C60462634223B2387D4ADABEEB53",
+ "subType": "system_subtotal",
+ "name": "Average"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "00B7BFFF967F42C4B71A4B53D90FB095",
+ "subType": "system_subtotal",
+ "name": "Minimum"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "B1F4AA7DE683441BA559AA6453C5113E",
+ "subType": "system_subtotal",
+ "name": "Maximum"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "54E7BFD129514717A92BC44CF1FE5A32",
+ "subType": "system_subtotal",
+ "name": "Product"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "83A663067F7E43B2ABF67FD38ECDC7FE",
+ "subType": "system_subtotal",
+ "name": "Median"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "36226A4048A546139BE0AF5F24737BA8",
+ "subType": "system_subtotal",
+ "name": "Mode"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "7FBA414995194BBAB2CF1BB599209824",
+ "subType": "system_subtotal",
+ "name": "Standard Deviation"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "1769DBFCCF2D4392938E40418C6E065E",
+ "subType": "system_subtotal",
+ "name": "Variance"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "E1853D5A36C74F59A9F8DEFB3F9527A1",
+ "subType": "system_subtotal",
+ "name": "Geometric Mean"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "F225147A4CA0BB97368A5689D9675E73",
+ "subType": "system_subtotal",
+ "name": "Aggregation"
+ },
+ "implementation": {
+ "objectId": "96C487AF4D12472A910C1ACACFB56EFB",
+ "subType": "system_subtotal",
+ "name": "Total"
+ }
+ }
+ ],
+ "format": {
+ "header": [],
+ "values": [
+ {
+ "type": "number_category",
+ "value": "0"
+ },
+ {
+ "type": "number_format",
+ "value": "###0"
+ },
+ {
+ "type": "number_currency_position",
+ "value": "0"
+ },
+ {
+ "type": "number_currency_symbol",
+ "value": ""
+ },
+ {
+ "type": "number_decimal_places",
+ "value": "0"
+ },
+ {
+ "type": "number_negative_numbers",
+ "value": "1"
+ },
+ {
+ "type": "number_thousand_separator",
+ "value": "false"
+ }
+ ]
+ },
+ "metricFormatType": "reserved",
+ "semanticRole": "fixed"
+}
+```
+
+- Response Code: 201 (Success: Created)
+
+## Commit the changeset
+
+After you create and modify all objects in the data model, commit the changeset to implement the changes.
+
+Use [POST /api/model/changesets/\{changesetId}/commit](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Changesets/ms-commitChangeset).
+
+Sample Request
+
+- Curl:
+
+```bash
+curl -X POST "https://demo.microstrategy.com/MicroStrategyLibrary/api/model/changesets/805C5F3FB78A436FAE37C943471C24AD/commit" -H "accept: application/json" -H "X-MSTR-AuthToken: o0ak9privdo27nfo798j40m8aa" -H "X-MSTR-MS-Changeset: 805C5F3FB78A436FAE37C943471C24AD"
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "id": "805C5F3FB78A436FAE37C943471C24AD",
+ "dateCreated": "2025-09-22T18:39:47.790690Z",
+ "dateModified": "2025-09-22T19:03:34.704176Z",
+ "status": "Ready",
+ "schemaEdit": true,
+ "mstrProjectId": "B7CA92F04B9FAE8D941C3E9B7E0CD754",
+ "mstrUserId": "7FC05A65473CE2FD845CE6A1D3F13233",
+ "userDateNumberLocale": "en-US",
+ "userMetadataLocale": "en-US",
+ "userWarehouseLocale": "en-US",
+ "userName": "MSTR User"
+}
+```
+
+- Response Code: 201 (Success: Created)
diff --git a/docs/common-workflows/mosaic/end-to-end/edit-an-existing-data-model.md b/docs/common-workflows/mosaic/end-to-end/edit-an-existing-data-model.md
new file mode 100644
index 00000000..100501c0
--- /dev/null
+++ b/docs/common-workflows/mosaic/end-to-end/edit-an-existing-data-model.md
@@ -0,0 +1,639 @@
+---
+title: Edit an existing data model
+description: This workflow demonstrates how to edit an existing data model using the REST API.
+---
+
+
+
+This workflow sample demonstrates how to edit an existing data model using the REST API.
+
+:::info
+
+Get the authorization token needed to execute the request with [POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin).
+
+Get the project ID from [GET /api/projects](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Projects/getProjects_1).
+
+:::
+
+:::tip
+
+Changesets are used in this workflow. For information on how to create and use changesets, see [Changesets](/docs/common-workflows/modeling/changesets.md).
+
+:::
+
+You can manage data model objects such as tables and attributes for existing data models. To update data model objects, you need the changeset ID in the request header.
+
+## Update a data model table
+
+Endpoint: [PATCH /api/model/dataModels/\{dataModelId}/tables/\{tableId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Model/patchDataModelTable)
+
+Sample Request
+
+- Curl
+
+```bash
+curl -L -X PATCH 'https://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels/DE5E8C39C44C45BE9FA0EAFA26FFDD86/tables/6516E7458B49494BA197A2957C14E33F' \
+-H 'X-MSTR-MS-Changeset: C83D179BC60F408BAC84DBD5C46A9C26' \
+-H 'X-MSTR-AuthToken: qj42fgsq3gofhob3isdr2uju4j' \
+-H 'Content-Type: application/json' \
+-d '{
+ "information": {
+ "name": "year"
+ }
+}'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "information": {
+ "dateCreated": "2025-09-28T05:05:49.550Z",
+ "dateModified": "2025-09-28T05:05:49.550Z",
+ "versionId": "BD184EC70F4CE15DD94390B276FC2E60",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "6516E7458B49494BA197A2957C14E33F",
+ "subType": "logical_table",
+ "name": "year"
+ },
+ "physicalTable": {
+ "information": {
+ "dateCreated": "2025-09-28T05:05:49.550Z",
+ "dateModified": "2025-09-28T05:05:49.550Z",
+ "versionId": "BD184EC70F4CE15DD94390B276FC2E60",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "AB09B0F8FA1E4CD5819D3767F6B7E6E5",
+ "subType": "physical_table",
+ "name": "New DB Table"
+ },
+ "columns": [
+ {
+ "information": {
+ "dateCreated": "2025-09-28T05:05:49.550Z",
+ "dateModified": "2025-09-28T05:05:49.550Z",
+ "versionId": "BD184EC70F4CE15DD94390B276FC2E60",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "B3B7491D12104E468F6E10FDBA8450B0",
+ "subType": "column",
+ "name": "year_id"
+ },
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "columnName": "year_id"
+ },
+ {
+ "information": {
+ "dateCreated": "2025-09-28T05:05:49.550Z",
+ "dateModified": "2025-09-28T05:05:49.550Z",
+ "versionId": "BD184EC70F4CE15DD94390B276FC2E60",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "91EB672C86C04675887799AF3C415DDD",
+ "subType": "column",
+ "name": "year_date"
+ },
+ "dataType": {
+ "type": "time_stamp",
+ "precision": 26,
+ "scale": 6
+ },
+ "columnName": "year_date"
+ },
+ {
+ "information": {
+ "dateCreated": "2025-09-28T05:05:49.550Z",
+ "dateModified": "2025-09-28T05:05:49.550Z",
+ "versionId": "BD184EC70F4CE15DD94390B276FC2E60",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "EF71AF7C744B4212BADA79CB7A5B3ED5",
+ "subType": "column",
+ "name": "year_duration"
+ },
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "columnName": "year_duration"
+ },
+ {
+ "information": {
+ "dateCreated": "2025-09-28T05:05:49.550Z",
+ "dateModified": "2025-09-28T05:05:49.550Z",
+ "versionId": "BD184EC70F4CE15DD94390B276FC2E60",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "6F767C0EAAC44A2F9C0EF2557929684E",
+ "subType": "column",
+ "name": "prev_year_id"
+ },
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "columnName": "prev_year_id"
+ }
+ ],
+ "type": "pipeline",
+ "pipeline": "{\"id\":\"1EB86237AA9A4A33BEB9DF58B3FB1BB7\",\"rootTable\":{\"id\":\"08250879E4054A4E814E7B0E9119BEF3\",\"type\":\"root\",\"children\":[{\"columns\":[{\"id\":\"DC815517FF804355A46B6FAD3D930647\",\"name\":\"year_id\",\"dataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0},\"sourceDataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0}},{\"id\":\"B59DC68104B0408A830BF256A7CBDC9A\",\"name\":\"year_date\",\"dataType\":{\"type\":\"time_stamp\",\"precision\":26,\"scale\":6},\"sourceDataType\":{\"type\":\"time_stamp\",\"precision\":26,\"scale\":6}},{\"id\":\"7A86D1CEEA5F4696968D811A709BBF67\",\"name\":\"year_duration\",\"dataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0},\"sourceDataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0}},{\"id\":\"68D6894D4E4E43CC84C16D281FC26A37\",\"name\":\"prev_year_id\",\"dataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0},\"sourceDataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0}}],\"importSource\":{\"type\":\"single_table\",\"dataSourceId\":\"E93B0C144F9EAF781E3993B5C439220D\",\"namespace\":\"public\",\"tableName\":\"lu_year\",\"sql\":\"\"},\"originalSchema\":\"{\\\"type\\\":\\\"struct\\\",\\\"fields\\\":[{\\\"name\\\":\\\"year_id\\\",\\\"type\\\":\\\"integer\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":5,\\\"dssType\\\":\\\"short\\\",\\\"name\\\":\\\"year_id\\\",\\\"scale\\\":0}},{\\\"name\\\":\\\"year_date\\\",\\\"type\\\":\\\"timestamp\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":26,\\\"dssType\\\":\\\"time_stamp\\\",\\\"name\\\":\\\"year_date\\\",\\\"scale\\\":6}},{\\\"name\\\":\\\"year_duration\\\",\\\"type\\\":\\\"integer\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":5,\\\"dssType\\\":\\\"short\\\",\\\"name\\\":\\\"year_duration\\\",\\\"scale\\\":0}},{\\\"name\\\":\\\"prev_year_id\\\",\\\"type\\\":\\\"integer\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":5,\\\"dssType\\\":\\\"short\\\",\\\"name\\\":\\\"prev_year_id\\\",\\\"scale\\\":0}}]}\",\"id\":\"1CF4AD1B020644579A646F979BF94064\",\"name\":\"Source Table\",\"type\":\"source\"}]}}"
+ },
+ "attributes": [
+ {
+ "information": {
+ "objectId": "1CD84A7209DB4D87B0AC74BC5DB948FE",
+ "subType": "attribute",
+ "name": "Year"
+ },
+ "forms": [
+ {
+ "formCategory": {
+ "objectId": "45C11FA478E745FEA08D781CEA190FE5",
+ "subType": "attribute_form_system",
+ "name": "ID"
+ },
+ "name": "Year ID",
+ "dataFormat": "number",
+ "isKeyForm": true,
+ "lookupTable": {
+ "objectId": "6516E7458B49494BA197A2957C14E33F",
+ "subType": "logical_table",
+ "name": "year"
+ },
+ "expression": {
+ "text": "year_id"
+ }
+ }
+ ],
+ "nonAggregatable": false
+ }
+ ],
+ "factMetrics": [
+ {
+ "information": {
+ "objectId": "AF01460F17B54F059210330AA970456C",
+ "subType": "fact_metric",
+ "name": "Year Duration"
+ },
+ "expression": {
+ "text": "year_duration"
+ },
+ "semanticRole": "fixed"
+ }
+ ],
+ "refreshPolicy": "replace"
+}
+```
+
+- Response Code: 200 (Success: OK)
+
+## Update a data model attribute
+
+Endpoint: [PATCH /api/model/dataModels/\{dataModelId}/attributes/\{attributeId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Models/patchDataModelAttribute).
+
+Sample Request
+
+- Curl
+
+```bash
+curl -L -X PATCH 'https://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels/DE5E8C39C44C45BE9FA0EAFA26FFDD86/attributes/F50F0AF7597845849B6168D6347E7601' \
+-H 'X-MSTR-AuthToken: qj42fgsq3gofhob3isdr2uju4j' \
+-H 'X-MSTR-MS-Changeset: C83D179BC60F408BAC84DBD5C46A9C26' \
+-H 'Content-Type: application/json' \
+-d '{
+ "information": {
+ "name": "Year",
+ "description": "Identifier for each financial year."
+ }
+}'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "information": {
+ "dateCreated": "2025-09-28T05:05:49.550Z",
+ "dateModified": "2025-09-28T05:05:49.550Z",
+ "versionId": "BD184EC70F4CE15DD94390B276FC2E60",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "1CD84A7209DB4D87B0AC74BC5DB948FE",
+ "subType": "attribute",
+ "name": "Year",
+ "description": "Identifier for each financial year.",
+ "destinationFolderId": "DD619A34B0B74F3180290ED41CBBAD95"
+ },
+ "forms": [
+ {
+ "id": "45C11FA478E745FEA08D781CEA190FE5",
+ "name": "Year ID",
+ "description": "Unique identifier for each year in the dataset.",
+ "category": "ID",
+ "type": "system",
+ "displayFormat": "number",
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "expressions": [
+ {
+ "expressionId": "E63A2A9841E94A92BD065DDEEF468E29",
+ "expression": {
+ "text": "year_id"
+ },
+ "tables": [
+ {
+ "objectId": "6516E7458B49494BA197A2957C14E33F",
+ "subType": "logical_table",
+ "name": "year"
+ }
+ ]
+ }
+ ],
+ "alias": "year_id",
+ "lookupTable": {
+ "objectId": "6516E7458B49494BA197A2957C14E33F",
+ "subType": "logical_table",
+ "name": "year"
+ }
+ }
+ ],
+ "attributeLookupTable": {
+ "objectId": "6516E7458B49494BA197A2957C14E33F",
+ "subType": "logical_table",
+ "name": "year"
+ },
+ "keyForm": {
+ "id": "45C11FA478E745FEA08D781CEA190FE5",
+ "name": "Year ID"
+ },
+ "displays": {
+ "reportDisplays": [
+ {
+ "id": "45C11FA478E745FEA08D781CEA190FE5",
+ "name": "Year ID"
+ }
+ ],
+ "browseDisplays": [
+ {
+ "id": "45C11FA478E745FEA08D781CEA190FE5",
+ "name": "Year ID"
+ }
+ ]
+ },
+ "sorts": {},
+ "relationships": [],
+ "nonAggregatable": false,
+ "autoDetectLookupTable": true
+}
+```
+
+- Response Code: 200 (Success: OK)
+
+If you need to manage pipelines, you need to restore the workspace of the current data model by specifying the existing pipelines and sampling configurations in the request body. You can get sampling configurations from the data model definition, and get the existing pipelines from the physical table definitions of the data model tables.
+
+## Get the data model definition
+
+Endpoint: [GET /api/model/dataModels/\{dataModelId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Model/getDataModel)
+
+Sample Request
+
+- Curl
+
+```bash
+curl -L -X GET 'https://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels/DE5E8C39C44C45BE9FA0EAFA26FFDD86' \
+-H 'X-MSTR-MS-Changeset: C83D179BC60F408BAC84DBD5C46A9C26' \
+-H 'X-MSTR-AuthToken: qj42fgsq3gofhob3isdr2uju4j'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "information": {
+ "dateCreated": "2025-09-28T05:05:49.550Z",
+ "dateModified": "2025-09-28T05:05:49.550Z",
+ "versionId": "BD184EC70F4CE15DD94390B276FC2E60",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "DE5E8C39C44C45BE9FA0EAFA26FFDD86",
+ "subType": "report_emma_cube",
+ "name": "new data model"
+ },
+ "dataServeMode": "in_memory",
+ "schemaFolderId": "DD619A34B0B74F3180290ED41CBBAD95",
+ "enableWrangleRecommendations": true,
+ "enableAutoHierarchyRelationships": true,
+ "sampling": {
+ "type": "first",
+ "rowCount": 1000
+ },
+ "partition": {
+ "mode": "none"
+ },
+ "autoJoin": true
+}
+```
+
+- Response Code: 200 (Success: OK)
+
+## Get data model tables
+
+Endpoint: [GET /api/model/dataModels/\{dataModelId}/tables](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Model/getDataModelTables)
+
+Sample Request
+
+- Curl
+
+```bash
+curl -L -X GET 'https://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels/DE5E8C39C44C45BE9FA0EAFA26FFDD86/tables?offset=0&limit=-1&fields=physicalTable' \
+-H 'X-MSTR-AuthToken: qj42fgsq3gofhob3isdr2uju4j' \
+-H 'X-MSTR-MS-Changeset: C83D179BC60F408BAC84DBD5C46A9C26'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "offset": 0,
+ "limit": -1,
+ "total": 1,
+ "tables": [
+ {
+ "physicalTable": {
+ "information": {
+ "dateCreated": "2025-09-28T05:05:49.550Z",
+ "dateModified": "2025-09-28T05:05:49.550Z",
+ "versionId": "BD184EC70F4CE15DD94390B276FC2E60",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "AB09B0F8FA1E4CD5819D3767F6B7E6E5",
+ "subType": "physical_table",
+ "name": "New DB Table"
+ },
+ "columns": [
+ {
+ "information": {
+ "dateCreated": "2025-09-28T05:05:49.550Z",
+ "dateModified": "2025-09-28T05:05:49.550Z",
+ "versionId": "BD184EC70F4CE15DD94390B276FC2E60",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "B3B7491D12104E468F6E10FDBA8450B0",
+ "subType": "column",
+ "name": "year_id"
+ },
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "columnName": "year_id"
+ },
+ {
+ "information": {
+ "dateCreated": "2025-09-28T05:05:49.550Z",
+ "dateModified": "2025-09-28T05:05:49.550Z",
+ "versionId": "BD184EC70F4CE15DD94390B276FC2E60",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "91EB672C86C04675887799AF3C415DDD",
+ "subType": "column",
+ "name": "year_date"
+ },
+ "dataType": {
+ "type": "time_stamp",
+ "precision": 26,
+ "scale": 6
+ },
+ "columnName": "year_date"
+ },
+ {
+ "information": {
+ "dateCreated": "2025-09-28T05:05:49.550Z",
+ "dateModified": "2025-09-28T05:05:49.550Z",
+ "versionId": "BD184EC70F4CE15DD94390B276FC2E60",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "EF71AF7C744B4212BADA79CB7A5B3ED5",
+ "subType": "column",
+ "name": "year_duration"
+ },
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "columnName": "year_duration"
+ },
+ {
+ "information": {
+ "dateCreated": "2025-09-28T05:05:49.550Z",
+ "dateModified": "2025-09-28T05:05:49.550Z",
+ "versionId": "BD184EC70F4CE15DD94390B276FC2E60",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "6F767C0EAAC44A2F9C0EF2557929684E",
+ "subType": "column",
+ "name": "prev_year_id"
+ },
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "columnName": "prev_year_id"
+ }
+ ],
+ "type": "pipeline",
+ "pipeline": "{\"id\":\"1EB86237AA9A4A33BEB9DF58B3FB1BB7\",\"rootTable\":{\"id\":\"08250879E4054A4E814E7B0E9119BEF3\",\"type\":\"root\",\"children\":[{\"columns\":[{\"id\":\"DC815517FF804355A46B6FAD3D930647\",\"name\":\"year_id\",\"dataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0},\"sourceDataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0}},{\"id\":\"B59DC68104B0408A830BF256A7CBDC9A\",\"name\":\"year_date\",\"dataType\":{\"type\":\"time_stamp\",\"precision\":26,\"scale\":6},\"sourceDataType\":{\"type\":\"time_stamp\",\"precision\":26,\"scale\":6}},{\"id\":\"7A86D1CEEA5F4696968D811A709BBF67\",\"name\":\"year_duration\",\"dataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0},\"sourceDataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0}},{\"id\":\"68D6894D4E4E43CC84C16D281FC26A37\",\"name\":\"prev_year_id\",\"dataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0},\"sourceDataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0}}],\"importSource\":{\"type\":\"single_table\",\"dataSourceId\":\"E93B0C144F9EAF781E3993B5C439220D\",\"namespace\":\"public\",\"tableName\":\"lu_year\",\"sql\":\"\"},\"originalSchema\":\"{\\\"type\\\":\\\"struct\\\",\\\"fields\\\":[{\\\"name\\\":\\\"year_id\\\",\\\"type\\\":\\\"integer\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":5,\\\"dssType\\\":\\\"short\\\",\\\"name\\\":\\\"year_id\\\",\\\"scale\\\":0}},{\\\"name\\\":\\\"year_date\\\",\\\"type\\\":\\\"timestamp\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":26,\\\"dssType\\\":\\\"time_stamp\\\",\\\"name\\\":\\\"year_date\\\",\\\"scale\\\":6}},{\\\"name\\\":\\\"year_duration\\\",\\\"type\\\":\\\"integer\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":5,\\\"dssType\\\":\\\"short\\\",\\\"name\\\":\\\"year_duration\\\",\\\"scale\\\":0}},{\\\"name\\\":\\\"prev_year_id\\\",\\\"type\\\":\\\"integer\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":5,\\\"dssType\\\":\\\"short\\\",\\\"name\\\":\\\"prev_year_id\\\",\\\"scale\\\":0}}]}\",\"id\":\"1CF4AD1B020644579A646F979BF94064\",\"name\":\"Source Table\",\"type\":\"source\"}]}}"
+ }
+ }
+ ]
+}
+```
+
+- Response Code: 200 (Success: OK)
+
+## Restore the workspace
+
+You can restore the workspace of the current data model after you retrieve the data model definition and existing pipelines. The pipelines from the data model physical table definitions should be converted to json format and specified in the request body.
+
+Endpoint: [POST /api/dataServer/workspaces](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Workspaces/postWorkspace)
+
+Sample Request
+
+- Curl
+
+```bash
+curl -L 'https://demo.microstrategy.com/MicroStrategyLibrary/api/dataServer/workspaces' \
+-H 'X-MSTR-AuthToken: qj42fgsq3gofhob3isdr2uju4j' \
+-H 'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754' \
+-H 'Content-Type: application/json' \
+-d '{
+ "pipelines": [{"id":"1EB86237AA9A4A33BEB9DF58B3FB1BB7","rootTable":{"id":"08250879E4054A4E814E7B0E9119BEF3","type":"root","children":[{"columns":[{"id":"DC815517FF804355A46B6FAD3D930647","name":"year_id","dataType":{"type":"integer","precision":2,"scale":0},"sourceDataType":{"type":"integer","precision":2,"scale":0}},{"id":"B59DC68104B0408A830BF256A7CBDC9A","name":"year_date","dataType":{"type":"time_stamp","precision":26,"scale":6},"sourceDataType":{"type":"time_stamp","precision":26,"scale":6}},{"id":"7A86D1CEEA5F4696968D811A709BBF67","name":"year_duration","dataType":{"type":"integer","precision":2,"scale":0},"sourceDataType":{"type":"integer","precision":2,"scale":0}},{"id":"68D6894D4E4E43CC84C16D281FC26A37","name":"prev_year_id","dataType":{"type":"integer","precision":2,"scale":0},"sourceDataType":{"type":"integer","precision":2,"scale":0}}],"importSource":{"type":"single_table","dataSourceId":"E93B0C144F9EAF781E3993B5C439220D","namespace":"public","tableName":"lu_year","sql":""},"originalSchema":"{\"type\":\"struct\",\"fields\":[{\"name\":\"year_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"precision\":5,\"dssType\":\"short\",\"name\":\"year_id\",\"scale\":0}},{\"name\":\"year_date\",\"type\":\"timestamp\",\"nullable\":true,\"metadata\":{\"precision\":26,\"dssType\":\"time_stamp\",\"name\":\"year_date\",\"scale\":6}},{\"name\":\"year_duration\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"precision\":5,\"dssType\":\"short\",\"name\":\"year_duration\",\"scale\":0}},{\"name\":\"prev_year_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"precision\":5,\"dssType\":\"short\",\"name\":\"prev_year_id\",\"scale\":0}}]}","id":"1CF4AD1B020644579A646F979BF94064","name":"Source Table","type":"source"}]}}],
+ "sampling": {
+ "type": "first",
+ "rowCount": 1000
+ }
+}'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "id": "D7D4AF711C284C27A8054862D207DDF0",
+ "sampling": {
+ "type": "first",
+ "rowCount": 1000
+ },
+ "dateCreated": "2025-09-28T07:52:13.366326246Z",
+ "dateModified": "2025-09-28T07:52:13.366330516Z",
+ "datasetServeMode": "in_memory",
+ "dssHost": "",
+ "dssPort": 0,
+ "pipelines": [
+ {
+ "id": "1EB86237AA9A4A33BEB9DF58B3FB1BB7",
+ "rootTable": {
+ "id": "08250879E4054A4E814E7B0E9119BEF3",
+ "type": "root",
+ "children": [
+ {
+ "id": "1CF4AD1B020644579A646F979BF94064",
+ "name": "Source Table",
+ "type": "source",
+ "columns": [
+ {
+ "id": "DC815517FF804355A46B6FAD3D930647",
+ "name": "year_id",
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ }
+ },
+ {
+ "id": "B59DC68104B0408A830BF256A7CBDC9A",
+ "name": "year_date",
+ "dataType": {
+ "type": "time_stamp",
+ "precision": 26,
+ "scale": 6
+ },
+ "sourceDataType": {
+ "type": "time_stamp",
+ "precision": 26,
+ "scale": 6
+ }
+ },
+ {
+ "id": "7A86D1CEEA5F4696968D811A709BBF67",
+ "name": "year_duration",
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ }
+ },
+ {
+ "id": "68D6894D4E4E43CC84C16D281FC26A37",
+ "name": "prev_year_id",
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ }
+ }
+ ],
+ "importSource": {
+ "type": "single_table",
+ "dataSourceId": "E93B0C144F9EAF781E3993B5C439220D",
+ "namespace": "public",
+ "tableName": "lu_year",
+ "sql": "",
+ "filterString": ""
+ },
+ "originalSchema": "{\"type\":\"struct\",\"fields\":[{\"name\":\"year_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"precision\":5,\"dssType\":\"short\",\"name\":\"year_id\",\"scale\":0}},{\"name\":\"year_date\",\"type\":\"timestamp\",\"nullable\":true,\"metadata\":{\"precision\":26,\"dssType\":\"time_stamp\",\"name\":\"year_date\",\"scale\":6}},{\"name\":\"year_duration\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"precision\":5,\"dssType\":\"short\",\"name\":\"year_duration\",\"scale\":0}},{\"name\":\"prev_year_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"precision\":5,\"dssType\":\"short\",\"name\":\"prev_year_id\",\"scale\":0}}]}"
+ }
+ ]
+ }
+ }
+ ]
+}
+```
+
+- Response Code: 201 (Success: Created)
+
+After you restore the workspace, you can manage pipelines in the data model such as adding a new pipeline table, as mentioned in [Create a Data Model From Scratch](create-a-data-model-from-scratch.md).
+
+## Commit the changeset
+
+After you create and modify all the data model objects, you need to commit the changeset to implement changes.
+
+Use [POST /api/model/changesets/\{changesetId}/commit](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Changesets/ms-commitChangeset).
+
+Sample Request
+
+- Curl:
+
+```bash
+curl -X POST "https://demo.microstrategy.com/MicroStrategyLibrary/api/model/changesets/805C5F3FB78A436FAE37C943471C24AD/commit" -H "accept: application/json" -H "X-MSTR-AuthToken: o0ak9privdo27nfo798j40m8aa" -H "X-MSTR-MS-Changeset: 805C5F3FB78A436FAE37C943471C24AD"
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "id": "805C5F3FB78A436FAE37C943471C24AD",
+ "dateCreated": "2025-09-22T18:39:47.790690Z",
+ "dateModified": "2025-09-22T19:03:34.704176Z",
+ "status": "Ready",
+ "schemaEdit": true,
+ "mstrProjectId": "B7CA92F04B9FAE8D941C3E9B7E0CD754",
+ "mstrUserId": "7FC05A65473CE2FD845CE6A1D3F13233",
+ "userDateNumberLocale": "en-US",
+ "userMetadataLocale": "en-US",
+ "userWarehouseLocale": "en-US",
+ "userName": "MSTR User"
+}
+```
+
+- Response Code: 201 (Success: Created)
diff --git a/docs/common-workflows/mosaic/end-to-end/end-to-end.md b/docs/common-workflows/mosaic/end-to-end/end-to-end.md
new file mode 100644
index 00000000..94fcb904
--- /dev/null
+++ b/docs/common-workflows/mosaic/end-to-end/end-to-end.md
@@ -0,0 +1,19 @@
+---
+title: Data model end-to-end management
+description: Use REST APIs to manage data models from end to end.
+---
+
+
+
+:::tip
+
+You can try these workflows with [REST API Playground](https://www.postman.com/microstrategysdk/microstrategy-rest-api/collection/5aq5sem/strategy-rest-api-workflows).
+
+Learn more about Strategy REST API Playground [here](/docs/getting-started/playground.md).
+
+:::
+
+You can use REST API requests to manage data models.
+
+- [Create a Data Model From Scratch](create-a-data-model-from-scratch.md)
+- [Edit an Existing Data Model](edit-an-existing-data-model.md)
diff --git a/docs/common-workflows/mosaic/manage-data-model-attributes/create-a-data-model-attribute.md b/docs/common-workflows/mosaic/manage-data-model-attributes/create-a-data-model-attribute.md
new file mode 100644
index 00000000..2ab6ecdc
--- /dev/null
+++ b/docs/common-workflows/mosaic/manage-data-model-attributes/create-a-data-model-attribute.md
@@ -0,0 +1,230 @@
+---
+title: Create a data model attribute
+sidebar_label: Create a data model attribute
+description: This workflow sample demonstrates how to create a data model attribute through the Modeling service.
+---
+
+
+
+:::tip
+
+You can try out this workflow at [REST API Playground](https://www.postman.com/microstrategysdk/microstrategy-rest-api/collection/5aq5sem/strategy-rest-api-workflows).
+
+Learn more about Strategy REST API Playground [here](/docs/getting-started/playground.md).
+
+:::
+
+This workflow sample demonstrates how to create a data model attribute through the Modeling service.
+
+:::info
+
+Get the authorization token needed to execute the request with [POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin).
+
+Get the project ID from [GET /api/projects](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Projects/getProjects_1).
+
+:::
+
+:::tip
+
+Changesets are used in this workflow. For information on how to create and use changesets, see [Changesets](/docs/common-workflows/modeling/changesets.md).
+
+:::
+
+You can create an attribute in a data model using the following endpoint: [POST /api/model/dataModels/\{dataModelId}/attributes](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Models/postDataModelAttribute).
+
+To create a data model attribute, in the request body, "forms" contains the detailed definition of a list of attribute forms. Each attribute contains one or more attribute forms. Each attribute form contains:
+
+- "expressions": A list of attribute form expressions. An attribute form contains one or more attribute form expressions. Each attribute form expression contains "expression" and "tables".
+
+- "expression": Must be in either "tree" or "tokens" format.
+
+ Tokens are a semi-structured representation of expression text that includes object references. For example, let’s say a fact expression is "Revenue - Cost". When the fact expression is represented as tokens, the text is broken down into pieces (tokens) with information about what they represent in the metadata: ("Revenue", Revenue_ID), ("-", Minus_ID), ("Cost", Cost_ID).
+
+- "tables": A list of tables that the "expression" applies to. Only data model tables are allowed here.
+
+- "dataType" and "alias" are optional. If omitted, they can be calculated based on the first attribute form expression.
+
+- "childForms" is specific to a form group, which contains the reference for child forms.
+
+ Provide a lookup table on either the attribute level or attribute form level, as it is required for the object to be committed to the metadata. A lookup table can be defined on the attribute level using "attributeLookupTable", or the attribute form level using "lookupTable". If "LookupTable" is defined at the attribute form level, it is used, or it defaults to "attributeLookupTable". You can only use data model tables in the lookup table.
+
+ Provide "keyForm" and "displays", as they are required for the attribute to be committed to the metadata.
+
+Sample Request Header:
+
+```http
+"accept": "application/json"
+"X-MSTR-AuthToken": "o0ak9privdo27nfo798j40m8aa"
+"X-MSTR-MS-Changeset": "805C5F3FB78A436FAE37C943471C24AD"
+```
+
+Sample Request Body:
+
+```json
+{
+ "information": {
+ "name": "Year",
+ "description": "Unique identifier for each year in the dataset."
+ },
+ "forms": [
+ {
+ "name": "Year ID",
+ "description": "Unique identifier for each year in the dataset.",
+ "displayFormat": "number",
+ "expressions": [
+ {
+ "expression": {
+ "tree": {
+ "objectId": "EAA58535D1FC4CC08580016EABE06335",
+ "type": "column_reference"
+ }
+ },
+ "tables": [
+ {
+ "objectId": "CA59CA2BBCBB47529A54C5B7708C5FCA",
+ "subType": "logical_table"
+ }
+ ]
+ }
+ ],
+ "semanticRole": "fixed"
+ }
+ ],
+ "keyForm": {
+ "name": "Year ID"
+ },
+ "displays": {
+ "reportDisplays": [
+ {
+ "name": "Year ID"
+ }
+ ],
+ "browseDisplays": [
+ {
+ "name": "Year ID"
+ }
+ ]
+ },
+ "autoDetectLookupTable": true,
+ "attributeLookupTable": {
+ "objectId": "CA59CA2BBCBB47529A54C5B7708C5FCA",
+ "subType": "logical_table"
+ }
+}
+```
+
+Sample Curl:
+
+```bash
+curl -X POST "https://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels/04DCF4F028354FC0AE4B8120CB1983A6/attributes?showExpressionAs=tokens&showExpressionAs=tree" -H "accept: application/json" -H "X-MSTR-AuthToken: o0ak9privdo27nfo798j40m8aa" -H "X-MSTR-MS-Changeset: B7CA92F04B9FAE8D941C3E9B7E0CD754" -H "Content-Type: application/json" -d '{"information": {"name": "Year","description": "Unique identifier for each year in the dataset."},"forms": [{"name": "Year ID","description": "Unique identifier for each year in the dataset.","displayFormat": "number","expressions": [{"expression": {"tree": {"objectId": "EAA58535D1FC4CC08580016EABE06335","type": "column_reference"}},"tables": [{"objectId": "CA59CA2BBCBB47529A54C5B7708C5FCA","subType": "logical_table"}]}], "semanticRole": "fixed"}],"keyForm": {"name": "Year ID"},"displays": {"reportDisplays": [{"name": "Year ID"}],"browseDisplays": [{"name": "Year ID"}]},"autoDetectLookupTable": true,"attributeLookupTable": {"objectId": "CA59CA2BBCBB47529A54C5B7708C5FCA","subType": "logical_table"}}'
+```
+
+Sample Response Body:
+
+```json
+{
+ "information": {
+ "versionId": "54F2B3F8A9CC4A48A5DFFD2A96A075B7",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "862DA529F9F641DBB41F7C5E11924C3F",
+ "subType": "attribute",
+ "name": "Year",
+ "description": "Unique identifier for each year in the dataset.",
+ "destinationFolderId": "61348EAB766B4763A6A6723CF08F8990"
+ },
+ "forms": [
+ {
+ "id": "45C11FA478E745FEA08D781CEA190FE5",
+ "name": "Year ID",
+ "description": "Unique identifier for each year in the dataset.",
+ "category": "ID",
+ "type": "system",
+ "displayFormat": "number",
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "expressions": [
+ {
+ "expressionId": "E52F4DA25C034DF98FC7C6A27846E58C",
+ "expression": {
+ "text": "year_id",
+ "tree": {
+ "type": "column_reference",
+ "columnName": "year_id",
+ "objectId": "EAA58535D1FC4CC08580016EABE06335"
+ },
+ "tokens": [
+ {
+ "level": "resolved",
+ "state": "initial",
+ "value": "year_id",
+ "type": "column_reference",
+ "target": {
+ "versionId": "A77247E5FBFA430DB8BE94C426CBD40E",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "EAA58535D1FC4CC08580016EABE06335",
+ "subType": "column",
+ "name": "year_id",
+ "destinationFolderId": "EE9BD70043F0F571B38E43BF19B9301A"
+ }
+ },
+ {
+ "level": "resolved",
+ "state": "initial",
+ "value": "",
+ "type": "end_of_text"
+ }
+ ]
+ },
+ "tables": [
+ {
+ "objectId": "CA59CA2BBCBB47529A54C5B7708C5FCA",
+ "subType": "logical_table",
+ "name": "lu_year"
+ }
+ ]
+ }
+ ],
+ "alias": "year_id",
+ "lookupTable": {
+ "objectId": "CA59CA2BBCBB47529A54C5B7708C5FCA",
+ "subType": "logical_table",
+ "name": "lu_year"
+ }
+ }
+ ],
+ "attributeLookupTable": {
+ "objectId": "CA59CA2BBCBB47529A54C5B7708C5FCA",
+ "subType": "logical_table",
+ "name": "lu_year"
+ },
+ "keyForm": {
+ "id": "45C11FA478E745FEA08D781CEA190FE5",
+ "name": "Year ID"
+ },
+ "displays": {
+ "reportDisplays": [
+ {
+ "id": "45C11FA478E745FEA08D781CEA190FE5",
+ "name": "Year ID"
+ }
+ ],
+ "browseDisplays": [
+ {
+ "id": "45C11FA478E745FEA08D781CEA190FE5",
+ "name": "Year ID"
+ }
+ ]
+ },
+ "sorts": {},
+ "relationships": [],
+ "nonAggregatable": false,
+ "autoDetectLookupTable": true
+}
+```
+
+Response Code: 201 (A new data model attribute is created successfully in the changeset.)
diff --git a/docs/common-workflows/mosaic/manage-data-model-attributes/create-and-update-smart-attributes.md b/docs/common-workflows/mosaic/manage-data-model-attributes/create-and-update-smart-attributes.md
new file mode 100644
index 00000000..c7eb16a7
--- /dev/null
+++ b/docs/common-workflows/mosaic/manage-data-model-attributes/create-and-update-smart-attributes.md
@@ -0,0 +1,152 @@
+---
+title: Create and update smart attributes
+description: This workflow demonstrates how to create and update smart attributes using REST API.
+---
+
+
+
+This workflow sample demonstrates how to create and update smart attributes using the REST API.
+
+:::info
+
+Get the authorization token needed to execute the request with [POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin).
+
+Get the project ID from [GET /api/projects](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Projects/getProjects_1).
+
+:::
+
+:::tip
+
+Changesets are used in this workflow. For information on how to create and use changesets, see [Changesets](/docs/common-workflows/modeling/changesets.md).
+
+:::
+
+## Create a smart attribute
+
+You can create a new smart attribute by specifying its details in the request body without providing the `objectId`. If you provide an `objectId`, the request will be treated as an update operation instead of a create operation.
+
+Endpoint: [PUT /api/model/dataModels/\{dataModelId}/attributes/\{attributeId}/smartAttributes](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Model/updateDataModelSmartAttributes)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: pk2dudliaoqh5hmv240ururl82'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+'X-MSTR-MS-Changeset: 303805A81AE24C8AB87C7B87C517B3A5'
+```
+
+- Curl
+
+```bash
+curl -L -X PUT 'https://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels/4490081B72354FCE9827DB1053A0050A/attributes/73C488AE71C54D7EB22D63A93FC85CD1/smartAttributes' \
+-H 'X-MSTR-AuthToken: sh9k098ofiakm2drhmq8ml5q4p' \
+-H 'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754' \
+-H 'X-MSTR-MS-Changeset: 17C4159267604C969838822859D7D4CD' \
+-H 'Content-Type: application/json' \
+-d '{
+ "smartAttributes": [
+ {
+ "subType": "attribute_smart",
+ "name": "Shipping Date (month interval)",
+ "definition": {
+ "smartAttributeType": "month_interval",
+ "parameters": [],
+ "ascending": true
+ }
+ }
+ ]
+}'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "smartAttributes": [
+ {
+ "objectId": "9FF854FC9033439187CD7FC6F353FF4B",
+ "subType": "attribute_smart",
+ "name": "Shipping Date (month interval)",
+ "definition": {
+ "smartAttributeType": "month_interval",
+ "parameters": [],
+ "ascending": true
+ }
+ }
+ ]
+}
+```
+
+- Response Code: 200 (Success: OK)
+
+## Update smart attributes
+
+You can update existing or newly created smart attributes by specifying their updated details in the request body. Each smart attribute with an `objectId` will be updated, while those without an `objectId` will be created as new smart attributes, and original smart attributes not included in the request will be deleted.
+
+Endpoint: [PUT /api/model/dataModels/\{dataModelId}/attributes/\{attributeId}/smartAttributes](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Model/updateDataModelSmartAttributes)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: pk2dudliaoqh5hmv240ururl82'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+'X-MSTR-MS-Changeset: 303805A81AE24C8AB87C7B87C517B3A5'
+```
+
+- Curl
+
+```bash
+curl -L -X PUT 'https://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels/4490081B72354FCE9827DB1053A0050A/attributes/73C488AE71C54D7EB22D63A93FC85CD1/smartAttributes' \
+-H 'X-MSTR-AuthToken: sh9k098ofiakm2drhmq8ml5q4p' \
+-H 'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754' \
+-H 'X-MSTR-MS-Changeset: 17C4159267604C969838822859D7D4CD' \
+-H 'Content-Type: application/json' \
+-H 'Accept: application/json' \
+-d '{
+ "smartAttributes": [
+ {
+ "objectId": "9FF854FC9033439187CD7FC6F353FF4B",
+ "subType": "attribute_smart",
+ "name": "Shipping Date",
+ "definition": {
+ "smartAttributeType": "month_interval",
+ "parameters": [],
+ "ascending": true
+ }
+ }
+ ]
+}'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "smartAttributes": [
+ {
+ "objectId": "9FF854FC9033439187CD7FC6F353FF4B",
+ "subType": "attribute_smart",
+ "name": "Shipping Date",
+ "definition": {
+ "smartAttributeType": "month_interval",
+ "parameters": [],
+ "ascending": true
+ }
+ }
+ ]
+}
+```
+
+- Response Code: 200 (Success: OK)
diff --git a/docs/common-workflows/mosaic/manage-data-model-attributes/delete-a-data-model-attribute.md b/docs/common-workflows/mosaic/manage-data-model-attributes/delete-a-data-model-attribute.md
new file mode 100644
index 00000000..592f1ea7
--- /dev/null
+++ b/docs/common-workflows/mosaic/manage-data-model-attributes/delete-a-data-model-attribute.md
@@ -0,0 +1,53 @@
+---
+title: Delete a data model attribute
+sidebar_label: Delete a data model attribute
+description: This workflow sample demonstrates how to delete a data model attribute through the Modeling service.
+---
+
+
+
+:::tip
+
+You can try out this workflow at [REST API Playground](https://www.postman.com/microstrategysdk/microstrategy-rest-api/collection/5aq5sem/strategy-rest-api-workflows).
+
+Learn more about Strategy REST API Playground [here](/docs/getting-started/playground.md).
+
+:::
+
+This workflow sample demonstrates how to delete a data model attribute through the Modeling service.
+
+:::info
+
+Get the authorization token needed to execute the request with [POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin).
+
+Get the project ID from [GET /api/projects](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Projects/getProjects_1).
+
+:::
+
+:::tip
+
+Changesets are used in this workflow. For information on how to create and use changesets, see [Changesets](/docs/common-workflows/modeling/changesets.md).
+
+:::
+
+You can delete an attribute from a data model using the following endpoint: [DELETE /api/model/dataModels/\{dataModelId}/attributes/\{attributeId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Models/deleteDataModelAttribute).
+
+Sample Request Header:
+
+```http
+"accept": "application/json"
+"X-MSTR-AuthToken": "o0ak9privdo27nfo798j40m8aa"
+"X-MSTR-MS-Changeset": "F768352DC66E40F2BCD9A3F050ECDE9B"
+```
+
+Sample Request Body: Empty
+
+Sample Curl:
+
+```bash
+curl -X DELETE "https://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels/04DCF4F028354FC0AE4B8120CB1983A6/attributes/5D6C76C3A3F548A0B9ADE5F9D2AA65C6" -H "accept: application/json" -H "X-MSTR-AuthToken: o0ak9privdo27nfo798j40m8aa" -H "X-MSTR-MS-Changeset: F768352DC66E40F2BCD9A3F050ECDE9B"
+```
+
+Sample Response Body: Empty
+
+Sample Response Code: 204 (The attribute has been deleted successfully from the data model.)
diff --git a/docs/common-workflows/mosaic/manage-data-model-attributes/manage-data-model-attributes.md b/docs/common-workflows/mosaic/manage-data-model-attributes/manage-data-model-attributes.md
index 93ade52f..217265a8 100644
--- a/docs/common-workflows/mosaic/manage-data-model-attributes/manage-data-model-attributes.md
+++ b/docs/common-workflows/mosaic/manage-data-model-attributes/manage-data-model-attributes.md
@@ -18,7 +18,12 @@ You can use REST API requests to retrieve an attribute's elements in a data mode
- [Retrieve an Attribute's Elements in a Data Model](retrieve-an-attributes-elements-in-data-model.md)
- [Retrieve Data Model Attributes](retrieve-data-model-attributes.md)
- [Retrieve an Attribute's Relationships in a Data Model](retrieve-an-attributes-relationships-in-data-model.md)
+- [Create a Data Model Attribute](create-a-data-model-attribute.md)
+- [Update a Data Model Attribute](update-a-data-model-attribute.md)
+- [Delete a Data Model Attribute](delete-a-data-model-attribute.md)
+- [Update a Data Model Attribute's Relationships](update-a-data-model-attributes-relationships.md)
- [Retrieve Smart Attributes for an attribute in a Data Model](retrieve-smart-attributes-for-an-attribute-in-data-model.md)
- [Retrieve Smart Attribute Templates for an attribute in a Data Model](retrieve-smart-attribute-templates-for-an-attribute-in-data-model.md)
+- [Create and Update Smart Attributes](create-and-update-smart-attributes.md)
For more information about the Modeling service, see [Configuring the Modeling Service](https://www2.microstrategy.com/producthelp/Current/InstallConfig/en-us/Content/modeling_service.htm).
diff --git a/docs/common-workflows/mosaic/manage-data-model-attributes/update-a-data-model-attribute.md b/docs/common-workflows/mosaic/manage-data-model-attributes/update-a-data-model-attribute.md
new file mode 100644
index 00000000..781efa07
--- /dev/null
+++ b/docs/common-workflows/mosaic/manage-data-model-attributes/update-a-data-model-attribute.md
@@ -0,0 +1,229 @@
+---
+title: Update a data model attribute
+sidebar_label: Update a data model attribute
+description: This workflow sample demonstrates how to update a data model attribute through the Modeling service.
+---
+
+
+
+:::tip
+
+You can try out this workflow at [REST API Playground](https://www.postman.com/microstrategysdk/microstrategy-rest-api/collection/5aq5sem/strategy-rest-api-workflows).
+
+Learn more about Strategy REST API Playground [here](/docs/getting-started/playground.md).
+
+:::
+
+This workflow sample demonstrates how to update a data model attribute through the Modeling service.
+
+:::info
+
+Get the authorization token needed to execute the request with [POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin).
+
+Get the project ID from [GET /api/projects](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Projects/getProjects_1).
+
+:::
+
+:::tip
+
+Changesets are used in this workflow. For information on how to create and use changesets, see [Changesets](/docs/common-workflows/modeling/changesets.md).
+
+:::
+
+You can update an attribute in a data model using the following endpoint: [PATCH /api/model/dataModels/\{dataModelId}/attributes/\{attributeId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Models/patchDataModelAttribute).
+
+To update a data model attribute, in the request body, "forms" contains the detailed definition of a list of attribute forms. Each attribute contains one or more attribute forms. Each attribute form contains:
+
+- "expressions": A list of attribute form expressions. An attribute form contains one or more attribute form expressions. Each attribute form expression contains "expression" and "tables".
+
+ - "expression": Must be in either "tree" or "tokens" format.
+
+ Tokens are a semi-structured representation of expression text that includes object references. For example, let’s say an attribute form expression is "Year - 10". When the attribute form expression is represented as tokens, the text is broken down into pieces (tokens) with information about what they represent in the metadata: ("Year_ID", Year_column_ID), ("-", Minus_ID), ("10", Constant).
+
+ - "tables": A list of tables that the "expression" applies to. Only data model tables are allowed here.
+
+- "dataType" and "alias" are optional. If omitted, they can be calculated based on the first attribute form expression.
+- "childForms" is specific to a form group, which contains the reference for child forms.
+
+Provide a lookup table on either the attribute level or attribute form level, as it is required for the object to be committed to the metadata. A lookup table can be defined on the attribute level using "attributeLookupTable", or the attribute form level using "lookupTable". If "LookupTable" is defined at the attribute form level, it is used, or it defaults to "attributeLookupTable". You can only use data model tables in the lookup table.
+
+Provide "keyForm" and "displays", as they are required for the attribute to be committed to the metadata.
+
+Sample Request Header:
+
+```http
+"accept": "application/json"
+"X-MSTR-AuthToken": "o0ak9privdo27nfo798j40m8aa"
+"X-MSTR-MS-Changeset": "F768352DC66E40F2BCD9A3F050ECDE9B"
+```
+
+Sample Request Body:
+
+```json
+{
+ "information": {
+ "name": "Year - Updated",
+ "description": "Unique identifier for each year in the dataset."
+ },
+ "forms": [
+ {
+ "name": "Year ID",
+ "description": "Unique identifier for each year in the dataset.",
+ "displayFormat": "number",
+ "expressions": [
+ {
+ "expression": {
+ "tree": {
+ "objectId": "EAA58535D1FC4CC08580016EABE06335",
+ "type": "column_reference"
+ }
+ },
+ "tables": [
+ {
+ "objectId": "CA59CA2BBCBB47529A54C5B7708C5FCA",
+ "subType": "logical_table"
+ }
+ ]
+ }
+ ],
+ "semanticRole": "fixed"
+ }
+ ],
+ "keyForm": {
+ "name": "Year ID"
+ },
+ "displays": {
+ "reportDisplays": [
+ {
+ "name": "Year ID"
+ }
+ ],
+ "browseDisplays": [
+ {
+ "name": "Year ID"
+ }
+ ]
+ },
+ "autoDetectLookupTable": true,
+ "attributeLookupTable": {
+ "objectId": "CA59CA2BBCBB47529A54C5B7708C5FCA",
+ "subType": "logical_table"
+ }
+}
+```
+
+Sample Curl:
+
+```bash
+curl -X PATCH "https://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels/04DCF4F028354FC0AE4B8120CB1983A6/attributes/5D6C76C3A3F548A0B9ADE5F9D2AA65C6?showExpressionAs=tokens&showExpressionAs=tree" -H "accept: application/json" -H "X-MSTR-AuthToken: o0ak9privdo27nfo798j40m8aa" -H "X-MSTR-MS-Changeset: F768352DC66E40F2BCD9A3F050ECDE9B" -H "Content-Type: application/json" -d '{"information": {"name": "Year - Updated","description": "Unique identifier for each year in the dataset."},"forms": [{"name": "Year ID","description": "Unique identifier for each year in the dataset.","displayFormat": "number","expressions": [{"expression": {"tree": {"objectId": "EAA58535D1FC4CC08580016EABE06335","type": "column_reference"}},"tables": [{"objectId": "CA59CA2BBCBB47529A54C5B7708C5FCA","subType": "logical_table"}]}],"semanticRole": "fixed"}],"keyForm": {"name": "Year ID"},"displays": {"reportDisplays": [{"name": "Year ID"}],"browseDisplays": [{"name": "Year ID"}]},"autoDetectLookupTable": true,"attributeLookupTable": {"objectId": "CA59CA2BBCBB47529A54C5B7708C5FCA","subType": "logical_table"}}'
+```
+
+Sample Response Body:
+
+```json
+{
+ "information": {
+ "versionId": "54F2B3F8A9CC4A48A5DFFD2A96A075B7",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "862DA529F9F641DBB41F7C5E11924C3F",
+ "subType": "attribute",
+ "name": "Year - Updated",
+ "description": "Unique identifier for each year in the dataset.",
+ "destinationFolderId": "61348EAB766B4763A6A6723CF08F8990"
+ },
+ "forms": [
+ {
+ "id": "45C11FA478E745FEA08D781CEA190FE5",
+ "name": "Year ID",
+ "description": "Unique identifier for each year in the dataset.",
+ "category": "ID",
+ "type": "system",
+ "displayFormat": "number",
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "expressions": [
+ {
+ "expressionId": "E52F4DA25C034DF98FC7C6A27846E58C",
+ "expression": {
+ "text": "year_id",
+ "tree": {
+ "type": "column_reference",
+ "columnName": "year_id",
+ "objectId": "EAA58535D1FC4CC08580016EABE06335"
+ },
+ "tokens": [
+ {
+ "level": "resolved",
+ "state": "initial",
+ "value": "year_id",
+ "type": "column_reference",
+ "target": {
+ "versionId": "A77247E5FBFA430DB8BE94C426CBD40E",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "EAA58535D1FC4CC08580016EABE06335",
+ "subType": "column",
+ "name": "year_id",
+ "destinationFolderId": "EE9BD70043F0F571B38E43BF19B9301A"
+ }
+ },
+ {
+ "level": "resolved",
+ "state": "initial",
+ "value": "",
+ "type": "end_of_text"
+ }
+ ]
+ },
+ "tables": [
+ {
+ "objectId": "CA59CA2BBCBB47529A54C5B7708C5FCA",
+ "subType": "logical_table",
+ "name": "lu_year"
+ }
+ ]
+ }
+ ],
+ "alias": "year_id",
+ "lookupTable": {
+ "objectId": "CA59CA2BBCBB47529A54C5B7708C5FCA",
+ "subType": "logical_table",
+ "name": "lu_year"
+ }
+ }
+ ],
+ "attributeLookupTable": {
+ "objectId": "CA59CA2BBCBB47529A54C5B7708C5FCA",
+ "subType": "logical_table",
+ "name": "lu_year"
+ },
+ "keyForm": {
+ "id": "45C11FA478E745FEA08D781CEA190FE5",
+ "name": "Year ID"
+ },
+ "displays": {
+ "reportDisplays": [
+ {
+ "id": "45C11FA478E745FEA08D781CEA190FE5",
+ "name": "Year ID"
+ }
+ ],
+ "browseDisplays": [
+ {
+ "id": "45C11FA478E745FEA08D781CEA190FE5",
+ "name": "Year ID"
+ }
+ ]
+ },
+ "sorts": {},
+ "relationships": [],
+ "nonAggregatable": false,
+ "autoDetectLookupTable": true
+}
+```
+
+Response Code: 200 (The data model attribute's definition is updated successfully in the changeset.)
diff --git a/docs/common-workflows/mosaic/manage-data-model-attributes/update-a-data-model-attributes-relationships.md b/docs/common-workflows/mosaic/manage-data-model-attributes/update-a-data-model-attributes-relationships.md
new file mode 100644
index 00000000..38508f1d
--- /dev/null
+++ b/docs/common-workflows/mosaic/manage-data-model-attributes/update-a-data-model-attributes-relationships.md
@@ -0,0 +1,139 @@
+---
+title: Update a data model attribute's relationships
+sidebar_label: Update a data model attribute's relationships
+description: This workflow sample demonstrates how to update a data model attribute's relationships through the Modeling service.
+---
+
+
+
+:::tip
+
+You can try out this workflow at [REST API Playground](https://www.postman.com/microstrategysdk/microstrategy-rest-api/collection/5aq5sem/strategy-rest-api-workflows).
+
+Learn more about Strategy REST API Playground [here](/docs/getting-started/playground.md).
+
+:::
+
+This workflow sample demonstrates how to update a data model attribute's relationships through the Modeling service.
+
+:::info
+
+Get the authorization token needed to execute the request with [POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin).
+
+Get the project ID from [GET /api/projects](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Projects/getProjects_1).
+
+:::
+
+:::tip
+
+Changesets are used in this workflow. For information on how to create and use changesets, see [Changesets](/docs/common-workflows/modeling/changesets.md).
+
+:::
+
+You can update a data model attribute's relationships using the following endpoint: [PUT /api/model/dataModels/\{dataModelId}/attributes/\{attributeId}/relationships](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Models/putDataModelAttributeRelationships).
+
+Sample Request Header:
+
+```http
+"accept": "application/json"
+"X-MSTR-AuthToken": "o0ak9privdo27nfo798j40m8aa"
+"X-MSTR-MS-Changeset": "F768352DC66E40F2BCD9A3F050ECDE9B"
+```
+
+Sample Request Body:
+
+```json
+{
+ "relationships": [
+ {
+ "parent": {
+ "objectId": "EE709099BFB74E3A879A1F5B5ABBB037",
+ "subType": "attribute",
+ "name": "Year"
+ },
+ "child": {
+ "objectId": "10DF161DF9C74FAEBA32795E7EE40E36",
+ "subType": "attribute",
+ "name": "Year Date"
+ },
+ "relationshipTable": {
+ "objectId": "EE3E012AE58943B9B4AF84C3BC08888F",
+ "subType": "logical_table",
+ "name": "lu_year"
+ },
+ "relationshipType": "one_to_many"
+ },
+ {
+ "parent": {
+ "objectId": "ACAB111A1C5E46539D672CA380729B90",
+ "subType": "attribute",
+ "name": "Previous Year"
+ },
+ "child": {
+ "objectId": "EE709099BFB74E3A879A1F5B5ABBB037",
+ "subType": "attribute",
+ "name": "Year"
+ },
+ "relationshipTable": {
+ "objectId": "EE3E012AE58943B9B4AF84C3BC08888F",
+ "subType": "logical_table",
+ "name": "lu_year"
+ },
+ "relationshipType": "one_to_many"
+ }
+ ]
+}
+```
+
+Sample Curl:
+
+```bash
+curl -X PUT "https://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels/04DCF4F028354FC0AE4B8120CB1983A6/attributes/5D6C76C3A3F548A0B9ADE5F9D2AA65C6/relationships" -H "accept: application/json" -H "X-MSTR-AuthToken: o0ak9privdo27nfo798j40m8aa" -H "X-MSTR-MS-Changeset: F768352DC66E40F2BCD9A3F050ECDE9B" -H "Content-Type: application/json" -d '{"relationships": [{"parent": {"objectId": "EE709099BFB74E3A879A1F5B5ABBB037","subType": "attribute","name": "Year"},"child": {"objectId": "10DF161DF9C74FAEBA32795E7EE40E36","subType": "attribute","name": "Year Date"},"relationshipTable": {"objectId": "EE3E012AE58943B9B4AF84C3BC08888F","subType": "logical_table","name": "lu_year"},"relationshipType": "one_to_many"},{"parent": {"objectId": "ACAB111A1C5E46539D672CA380729B90","subType": "attribute","name": "Previous Year"},"child": {"objectId": "EE709099BFB74E3A879A1F5B5ABBB037","subType": "attribute","name": "Year"},"relationshipTable": {"objectId": "EE3E012AE58943B9B4AF84C3BC08888F","subType": "logical_table","name": "lu_year"},"relationshipType": "one_to_many"}]}'
+```
+
+Sample Response Body:
+
+```json
+{
+ "relationships": [
+ {
+ "parent": {
+ "objectId": "EE709099BFB74E3A879A1F5B5ABBB037",
+ "subType": "attribute",
+ "name": "Year"
+ },
+ "child": {
+ "objectId": "10DF161DF9C74FAEBA32795E7EE40E36",
+ "subType": "attribute",
+ "name": "Year Date"
+ },
+ "relationshipTable": {
+ "objectId": "EE3E012AE58943B9B4AF84C3BC08888F",
+ "subType": "logical_table",
+ "name": "lu_year"
+ },
+ "relationshipType": "one_to_many"
+ },
+ {
+ "parent": {
+ "objectId": "ACAB111A1C5E46539D672CA380729B90",
+ "subType": "attribute",
+ "name": "Previous Year"
+ },
+ "child": {
+ "objectId": "EE709099BFB74E3A879A1F5B5ABBB037",
+ "subType": "attribute",
+ "name": "Year"
+ },
+ "relationshipTable": {
+ "objectId": "EE3E012AE58943B9B4AF84C3BC08888F",
+ "subType": "logical_table",
+ "name": "lu_year"
+ },
+ "relationshipType": "one_to_many"
+ }
+ ]
+}
+```
+
+Response Code: 200 (The data model attribute's relationships are updated successfully in the changeset.)
diff --git a/docs/common-workflows/mosaic/manage-data-model-base-metrics/create-a-data-model-base-metric.md b/docs/common-workflows/mosaic/manage-data-model-base-metrics/create-a-data-model-base-metric.md
new file mode 100644
index 00000000..caa04241
--- /dev/null
+++ b/docs/common-workflows/mosaic/manage-data-model-base-metrics/create-a-data-model-base-metric.md
@@ -0,0 +1,328 @@
+---
+title: Create a data model base metric
+sidebar_label: Create a data model base metric
+description: This workflow sample demonstrates how to create a data model base metric through the Modeling service.
+---
+
+
+
+:::tip
+
+You can try out this workflow at [REST API Playground](https://www.postman.com/microstrategysdk/microstrategy-rest-api/collection/5aq5sem/strategy-rest-api-workflows).
+
+Learn more about Strategy REST API Playground [here](/docs/getting-started/playground.md).
+
+:::
+
+This workflow sample demonstrates how to create a data model base metric through the Modeling service.
+
+:::info
+
+Get the authorization token needed to execute the request with [POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin).
+
+Get the project ID from [GET /api/projects](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Projects/getProjects_1).
+
+:::
+
+:::tip
+
+Changesets are used in this workflow. For information on how to create and use changesets, see [Changesets](/docs/common-workflows/modeling/changesets.md).
+
+:::
+
+You can create a base metric in a data model using the following endpoint: [POST /api/model/dataModels/\{dataModelId}/factMetrics](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Models/postDataModelFactMetric).
+
+To create a data model base metric, in the request body, each "expression" of "fact.expressions" needs to be in either "tree" or "tokens" format. If both are provided, only "tree" is used.
+
+Sample Request Header:
+
+```http
+"accept": "application/json"
+"X-MSTR-AuthToken": "o0ak9privdo27nfo798j40m8aa"
+"X-MSTR-MS-Changeset": "805C5F3FB78A436FAE37C943471C24AD"
+```
+
+Sample Request Body:
+
+```json
+{
+ "information": {
+ "name": "Year Duration",
+ "subType": "fact_metric",
+ "description": "Number of days in each year, accounting for leap years."
+ },
+ "fact": {
+ "expressions": [
+ {
+ "expression": {
+ "tree": {
+ "type": "column_reference",
+ "objectId": "8D64FCB9859B468CAD1EE94C140C2E7F"
+ }
+ },
+ "tables": [
+ {
+ "objectId": "CA59CA2BBCBB47529A54C5B7708C5FCA",
+ "subType": "logical_table"
+ }
+ ]
+ }
+ ]
+ },
+ "format": {
+ "header": [],
+ "values": [
+ {
+ "type": "number_category",
+ "value": "0"
+ },
+ {
+ "type": "number_decimal_places",
+ "value": "0"
+ },
+ {
+ "type": "number_thousand_separator",
+ "value": "false"
+ },
+ {
+ "type": "number_currency_symbol",
+ "value": ""
+ },
+ {
+ "type": "number_currency_position",
+ "value": "0"
+ },
+ {
+ "type": "number_negative_numbers",
+ "value": "1"
+ }
+ ]
+ },
+ "semanticRole": "fixed"
+}
+```
+
+Sample Curl:
+
+```bash
+curl -X POST "https://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels/04DCF4F028354FC0AE4B8120CB1983A6/factMetrics?showExpressionAs=tokens&showExpressionAs=tree" -H "accept: application/json" -H "X-MSTR-AuthToken: o0ak9privdo27nfo798j40m8aa" -H "X-MSTR-MS-Changeset: B7CA92F04B9FAE8D941C3E9B7E0CD754" -H "Content-Type: application/json" -d '{"information": {"name": "Year Duration", "subType": "fact_metric", "description": "Number of days in each year, accounting for leap years."}, "fact": {"expressions": [{"expression": {"tree": {"type": "column_reference", "objectId": "8D64FCB9859B468CAD1EE94C140C2E7F"}}, "tables": [{"objectId": "CA59CA2BBCBB47529A54C5B7708C5FCA","subType": "logical_table"}]}]}, "format": {"header": [], "values": [{"type": "number_category", "value": "0"},{"type": "number_decimal_places", "value": "0"},{"type": "number_thousand_separator", "value": "false"},{"type": "number_currency_symbol", "value": ""},{"type": "number_currency_position", "value": "0"},{"type": "number_negative_numbers", "value": "1"}]}, "semanticRole": "fixed"}'
+```
+
+Sample Response Body:
+
+```json
+{
+ "information": {
+ "versionId": "B1F1B5D0A6554DC5AF49C739419534A3",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "EF4EABDA0D2C4FBEA1D65D05EC34C1CB",
+ "subType": "fact_metric",
+ "name": "Year Duration",
+ "description": "Number of days in each year, accounting for leap years.",
+ "destinationFolderId": "61348EAB766B4763A6A6723CF08F8990"
+ },
+ "fact": {
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "expressions": [
+ {
+ "expressionId": "609F7CF0746A4094A0333A1C4D399DDD",
+ "expression": {
+ "text": "year_duration",
+ "tree": {
+ "type": "column_reference",
+ "columnName": "year_duration",
+ "objectId": "8D64FCB9859B468CAD1EE94C140C2E7F"
+ },
+ "tokens": [
+ {
+ "level": "resolved",
+ "state": "initial",
+ "value": "year_duration",
+ "type": "column_reference",
+ "target": {
+ "versionId": "7110E5FF510B4A2C8EBA6C7E2340F076",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "8D64FCB9859B468CAD1EE94C140C2E7F",
+ "subType": "column",
+ "name": "year_duration",
+ "destinationFolderId": "EE9BD70043F0F571B38E43BF19B9301A"
+ }
+ },
+ {
+ "level": "resolved",
+ "state": "initial",
+ "value": "",
+ "type": "end_of_text"
+ }
+ ]
+ },
+ "tables": [
+ {
+ "objectId": "CA59CA2BBCBB47529A54C5B7708C5FCA",
+ "subType": "logical_table",
+ "name": "lu_year"
+ }
+ ]
+ }
+ ],
+ "extensions": [],
+ "entryLevel": []
+ },
+ "function": "sum",
+ "functionProperties": [
+ {
+ "name": "UseLookupForAttributes",
+ "value": {
+ "type": "boolean",
+ "value": "false"
+ }
+ }
+ ],
+ "dimty": {
+ "dimtyUnits": [
+ {
+ "dimtyUnitType": "report_base_level",
+ "aggregation": "normal",
+ "filtering": "apply",
+ "groupBy": true
+ }
+ ],
+ "excludeAttribute": false,
+ "allowAddingUnit": true
+ },
+ "metricSubtotals": [
+ {
+ "definition": {
+ "objectId": "96C487AF4D12472A910C1ACACFB56EFB",
+ "subType": "system_subtotal",
+ "name": "Total"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "078C50834B484EE29948FA9DD5300ADF",
+ "subType": "system_subtotal",
+ "name": "Count"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "B328C60462634223B2387D4ADABEEB53",
+ "subType": "system_subtotal",
+ "name": "Average"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "00B7BFFF967F42C4B71A4B53D90FB095",
+ "subType": "system_subtotal",
+ "name": "Minimum"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "B1F4AA7DE683441BA559AA6453C5113E",
+ "subType": "system_subtotal",
+ "name": "Maximum"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "54E7BFD129514717A92BC44CF1FE5A32",
+ "subType": "system_subtotal",
+ "name": "Product"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "83A663067F7E43B2ABF67FD38ECDC7FE",
+ "subType": "system_subtotal",
+ "name": "Median"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "36226A4048A546139BE0AF5F24737BA8",
+ "subType": "system_subtotal",
+ "name": "Mode"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "7FBA414995194BBAB2CF1BB599209824",
+ "subType": "system_subtotal",
+ "name": "Standard Deviation"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "1769DBFCCF2D4392938E40418C6E065E",
+ "subType": "system_subtotal",
+ "name": "Variance"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "E1853D5A36C74F59A9F8DEFB3F9527A1",
+ "subType": "system_subtotal",
+ "name": "Geometric Mean"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "F225147A4CA0BB97368A5689D9675E73",
+ "subType": "system_subtotal",
+ "name": "Aggregation"
+ },
+ "implementation": {
+ "objectId": "96C487AF4D12472A910C1ACACFB56EFB",
+ "subType": "system_subtotal",
+ "name": "Total"
+ }
+ }
+ ],
+ "format": {
+ "header": [],
+ "values": [
+ {
+ "type": "number_category",
+ "value": "0"
+ },
+ {
+ "type": "number_format",
+ "value": "###0"
+ },
+ {
+ "type": "number_currency_position",
+ "value": "0"
+ },
+ {
+ "type": "number_currency_symbol",
+ "value": ""
+ },
+ {
+ "type": "number_decimal_places",
+ "value": "0"
+ },
+ {
+ "type": "number_negative_numbers",
+ "value": "1"
+ },
+ {
+ "type": "number_thousand_separator",
+ "value": "false"
+ }
+ ]
+ },
+ "metricFormatType": "reserved",
+ "semanticRole": "fixed"
+}
+```
+
+Response Code: 201 (A new data model base metric is created successfully in the changeset.)
diff --git a/docs/common-workflows/mosaic/manage-data-model-base-metrics/delete-a-data-model-base-metric.md b/docs/common-workflows/mosaic/manage-data-model-base-metrics/delete-a-data-model-base-metric.md
new file mode 100644
index 00000000..b56071c1
--- /dev/null
+++ b/docs/common-workflows/mosaic/manage-data-model-base-metrics/delete-a-data-model-base-metric.md
@@ -0,0 +1,53 @@
+---
+title: Delete a data model base metric
+sidebar_label: Delete a data model base metric
+description: This workflow sample demonstrates how to delete a data model base metric through the Modeling service.
+---
+
+
+
+:::tip
+
+You can try out this workflow at [REST API Playground](https://www.postman.com/microstrategysdk/microstrategy-rest-api/collection/5aq5sem/strategy-rest-api-workflows).
+
+Learn more about Strategy REST API Playground [here](/docs/getting-started/playground.md).
+
+:::
+
+This workflow sample demonstrates how to delete a data model base metric through the Modeling service.
+
+:::info
+
+Get the authorization token needed to execute the request with [POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin).
+
+Get the project ID from [GET /api/projects](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Projects/getProjects_1).
+
+:::
+
+:::tip
+
+Changesets are used in this workflow. For information on how to create and use changesets, see [Changesets](/docs/common-workflows/modeling/changesets.md).
+
+:::
+
+You can delete an base metric from a data model using the following endpoint: [DELETE /api/model/dataModels/\{dataModelId}/factMetrics/\{factMetricId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Models/deleteDataModelFactMetric).
+
+Sample Request Header:
+
+```http
+"accept": "application/json"
+"X-MSTR-AuthToken": "o0ak9privdo27nfo798j40m8aa"
+"X-MSTR-MS-Changeset": "F768352DC66E40F2BCD9A3F050ECDE9B"
+```
+
+Sample Request Body: Empty
+
+Sample Curl:
+
+```bash
+curl -X DELETE "https://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels/04DCF4F028354FC0AE4B8120CB1983A6/factMetrics/EF4EABDA0D2C4FBEA1D65D05EC34C1CB" -H "accept: application/json" -H "X-MSTR-AuthToken: o0ak9privdo27nfo798j40m8aa" -H "X-MSTR-MS-Changeset: F768352DC66E40F2BCD9A3F050ECDE9B"
+```
+
+Sample Response Body: Empty
+
+Sample Response Code: 204 (The base metric has been deleted successfully from the data model.)
diff --git a/docs/common-workflows/mosaic/manage-data-model-base-metrics/manage-data-model-base-metrics.md b/docs/common-workflows/mosaic/manage-data-model-base-metrics/manage-data-model-base-metrics.md
index b1df0a89..606eb987 100644
--- a/docs/common-workflows/mosaic/manage-data-model-base-metrics/manage-data-model-base-metrics.md
+++ b/docs/common-workflows/mosaic/manage-data-model-base-metrics/manage-data-model-base-metrics.md
@@ -16,3 +16,6 @@ Learn more about Strategy REST API Playground [here](/docs/getting-started/playg
You can use REST API requests to manage data model base metrics.
- [Retrieve Data Model Base Metrics](retrieve-data-model-base-metrics.md)
+- [Create a Data Model Base Metric](create-a-data-model-base-metric.md)
+- [Update a Data Model Base Metric](update-a-data-model-base-metric.md)
+- [Delete a Data Model Base Metric](delete-a-data-model-base-metric.md)
diff --git a/docs/common-workflows/mosaic/manage-data-model-base-metrics/update-a-data-model-base-metric.md b/docs/common-workflows/mosaic/manage-data-model-base-metrics/update-a-data-model-base-metric.md
new file mode 100644
index 00000000..c930d7c7
--- /dev/null
+++ b/docs/common-workflows/mosaic/manage-data-model-base-metrics/update-a-data-model-base-metric.md
@@ -0,0 +1,328 @@
+---
+title: Update a data model base metric
+sidebar_label: Update a data model base metric
+description: This workflow sample demonstrates how to update a data model base metric through the Modeling service.
+---
+
+
+
+:::tip
+
+You can try out this workflow at [REST API Playground](https://www.postman.com/microstrategysdk/microstrategy-rest-api/collection/5aq5sem/strategy-rest-api-workflows).
+
+Learn more about Strategy REST API Playground [here](/docs/getting-started/playground.md).
+
+:::
+
+This workflow sample demonstrates how to update a data model base metric through the Modeling service.
+
+:::info
+
+Get the authorization token needed to execute the request with [POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin).
+
+Get the project ID from [GET /api/projects](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Projects/getProjects_1).
+
+:::
+
+:::tip
+
+Changesets are used in this workflow. For information on how to create and use changesets, see [Changesets](/docs/common-workflows/modeling/changesets.md).
+
+:::
+
+You can update a base metric in a data model using the following endpoint: [PATCH /api/model/dataModels/\{dataModelId}/factMetrics/\{factMetricId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Models/patchDataModelFactMetric).
+
+To update a data model base metric, in the request body, each "expression" of "fact.expressions" needs to be in either "tree" or "tokens" format. If both are provided, only "tree" is used.
+
+Sample Request Header:
+
+```http
+"accept": "application/json"
+"X-MSTR-AuthToken": "o0ak9privdo27nfo798j40m8aa"
+"X-MSTR-MS-Changeset": "F768352DC66E40F2BCD9A3F050ECDE9B"
+```
+
+Sample Request Body:
+
+```json
+{
+ "information": {
+ "name": "Year Duration - Updated",
+ "subType": "fact_metric",
+ "description": "Number of days in each year, accounting for leap years."
+ },
+ "fact": {
+ "expressions": [
+ {
+ "expression": {
+ "tree": {
+ "type": "column_reference",
+ "objectId": "8D64FCB9859B468CAD1EE94C140C2E7F"
+ }
+ },
+ "tables": [
+ {
+ "objectId": "CA59CA2BBCBB47529A54C5B7708C5FCA",
+ "subType": "logical_table"
+ }
+ ]
+ }
+ ]
+ },
+ "format": {
+ "header": [],
+ "values": [
+ {
+ "type": "number_category",
+ "value": "0"
+ },
+ {
+ "type": "number_decimal_places",
+ "value": "0"
+ },
+ {
+ "type": "number_thousand_separator",
+ "value": "false"
+ },
+ {
+ "type": "number_currency_symbol",
+ "value": ""
+ },
+ {
+ "type": "number_currency_position",
+ "value": "0"
+ },
+ {
+ "type": "number_negative_numbers",
+ "value": "1"
+ }
+ ]
+ },
+ "semanticRole": "fixed"
+}
+```
+
+Sample Curl:
+
+```bash
+curl -X PATCH "https://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels/04DCF4F028354FC0AE4B8120CB1983A6/factMetrics/EF4EABDA0D2C4FBEA1D65D05EC34C1CB?showExpressionAs=tokens&showExpressionAs=tree" -H "accept: application/json" -H "X-MSTR-AuthToken: o0ak9privdo27nfo798j40m8aa" -H "X-MSTR-MS-Changeset: F768352DC66E40F2BCD9A3F050ECDE9B" -H "Content-Type: application/json" -d '{"information": {"name": "Year Duration - Updated", "subType": "fact_metric", "description": "Number of days in each year, accounting for leap years."}, "fact": {"expressions": [{"expression": {"tree": {"type": "column_reference", "objectId": "8D64FCB9859B468CAD1EE94C140C2E7F"}}, "tables": [{"objectId": "CA59CA2BBCBB47529A54C5B7708C5FCA","subType": "logical_table"}]}]}, "format": {"header": [], "values": [{"type": "number_category", "value": "0"},{"type": "number_decimal_places", "value": "0"},{"type": "number_thousand_separator", "value": "false"},{"type": "number_currency_symbol", "value": ""},{"type": "number_currency_position", "value": "0"},{"type": "number_negative_numbers", "value": "1"}]}, "semanticRole": "fixed"}'
+```
+
+Sample Response Body:
+
+```json
+{
+ "information": {
+ "versionId": "B1F1B5D0A6554DC5AF49C739419534A3",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "EF4EABDA0D2C4FBEA1D65D05EC34C1CB",
+ "subType": "fact_metric",
+ "name": "Year Duration - Updated",
+ "description": "Number of days in each year, accounting for leap years.",
+ "destinationFolderId": "61348EAB766B4763A6A6723CF08F8990"
+ },
+ "fact": {
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "expressions": [
+ {
+ "expressionId": "609F7CF0746A4094A0333A1C4D399DDD",
+ "expression": {
+ "text": "year_duration",
+ "tree": {
+ "type": "column_reference",
+ "columnName": "year_duration",
+ "objectId": "8D64FCB9859B468CAD1EE94C140C2E7F"
+ },
+ "tokens": [
+ {
+ "level": "resolved",
+ "state": "initial",
+ "value": "year_duration",
+ "type": "column_reference",
+ "target": {
+ "versionId": "7110E5FF510B4A2C8EBA6C7E2340F076",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "8D64FCB9859B468CAD1EE94C140C2E7F",
+ "subType": "column",
+ "name": "year_duration",
+ "destinationFolderId": "EE9BD70043F0F571B38E43BF19B9301A"
+ }
+ },
+ {
+ "level": "resolved",
+ "state": "initial",
+ "value": "",
+ "type": "end_of_text"
+ }
+ ]
+ },
+ "tables": [
+ {
+ "objectId": "CA59CA2BBCBB47529A54C5B7708C5FCA",
+ "subType": "logical_table",
+ "name": "lu_year"
+ }
+ ]
+ }
+ ],
+ "extensions": [],
+ "entryLevel": []
+ },
+ "function": "sum",
+ "functionProperties": [
+ {
+ "name": "UseLookupForAttributes",
+ "value": {
+ "type": "boolean",
+ "value": "false"
+ }
+ }
+ ],
+ "dimty": {
+ "dimtyUnits": [
+ {
+ "dimtyUnitType": "report_base_level",
+ "aggregation": "normal",
+ "filtering": "apply",
+ "groupBy": true
+ }
+ ],
+ "excludeAttribute": false,
+ "allowAddingUnit": true
+ },
+ "metricSubtotals": [
+ {
+ "definition": {
+ "objectId": "96C487AF4D12472A910C1ACACFB56EFB",
+ "subType": "system_subtotal",
+ "name": "Total"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "078C50834B484EE29948FA9DD5300ADF",
+ "subType": "system_subtotal",
+ "name": "Count"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "B328C60462634223B2387D4ADABEEB53",
+ "subType": "system_subtotal",
+ "name": "Average"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "00B7BFFF967F42C4B71A4B53D90FB095",
+ "subType": "system_subtotal",
+ "name": "Minimum"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "B1F4AA7DE683441BA559AA6453C5113E",
+ "subType": "system_subtotal",
+ "name": "Maximum"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "54E7BFD129514717A92BC44CF1FE5A32",
+ "subType": "system_subtotal",
+ "name": "Product"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "83A663067F7E43B2ABF67FD38ECDC7FE",
+ "subType": "system_subtotal",
+ "name": "Median"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "36226A4048A546139BE0AF5F24737BA8",
+ "subType": "system_subtotal",
+ "name": "Mode"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "7FBA414995194BBAB2CF1BB599209824",
+ "subType": "system_subtotal",
+ "name": "Standard Deviation"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "1769DBFCCF2D4392938E40418C6E065E",
+ "subType": "system_subtotal",
+ "name": "Variance"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "E1853D5A36C74F59A9F8DEFB3F9527A1",
+ "subType": "system_subtotal",
+ "name": "Geometric Mean"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "F225147A4CA0BB97368A5689D9675E73",
+ "subType": "system_subtotal",
+ "name": "Aggregation"
+ },
+ "implementation": {
+ "objectId": "96C487AF4D12472A910C1ACACFB56EFB",
+ "subType": "system_subtotal",
+ "name": "Total"
+ }
+ }
+ ],
+ "format": {
+ "header": [],
+ "values": [
+ {
+ "type": "number_category",
+ "value": "0"
+ },
+ {
+ "type": "number_format",
+ "value": "###0"
+ },
+ {
+ "type": "number_currency_position",
+ "value": "0"
+ },
+ {
+ "type": "number_currency_symbol",
+ "value": ""
+ },
+ {
+ "type": "number_decimal_places",
+ "value": "0"
+ },
+ {
+ "type": "number_negative_numbers",
+ "value": "1"
+ },
+ {
+ "type": "number_thousand_separator",
+ "value": "false"
+ }
+ ]
+ },
+ "metricFormatType": "reserved",
+ "semanticRole": "fixed"
+}
+```
+
+Response Code: 200 (The data model base metric's definition is updated successfully in the changeset.)
diff --git a/docs/common-workflows/mosaic/manage-data-model-folders/create-update-and-delete-a-folder.md b/docs/common-workflows/mosaic/manage-data-model-folders/create-update-and-delete-a-folder.md
new file mode 100644
index 00000000..7834ced7
--- /dev/null
+++ b/docs/common-workflows/mosaic/manage-data-model-folders/create-update-and-delete-a-folder.md
@@ -0,0 +1,161 @@
+---
+title: Create, update, and delete a folder
+description: This workflow demonstrates how to create, update, and delete a data model folder using REST API.
+---
+
+
+
+This workflow sample demonstrates how to create, update, and delete a data model folder using the REST API.
+
+:::info
+
+Get the authorization token needed to execute the request with [POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin).
+
+Get the project ID from [GET /api/projects](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Projects/getProjects_1).
+
+:::
+
+:::tip
+
+Changesets are used in this workflow. For information on how to create and use changesets, see [Changesets](/docs/common-workflows/modeling/changesets.md).
+
+:::
+
+## Create a folder
+
+You can create a new folder in the data model. Only `name` and `destinationFolderId` in the request body will be used to create the folder. The default destination folder is the data model schema folder.
+
+Endpoint: [POST /model/dataModels/\{dataModelId}/folders](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Model/createDataModelFolder)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: cskp6hr15bale6u82v5f3trckl'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+'X-MSTR-MS-Changeset: 9A272BF06D9C4A78871E993C9A86A971'
+```
+
+- Curl
+
+```bash
+curl -L -X POST 'https://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels/C9A69CBD16684E49AAB965F7F86CDB18/folders' \
+-H 'X-MSTR-MS-Changeset: 9A272BF06D9C4A78871E993C9A86A971' \
+-H 'X-MSTR-AuthToken: cskp6hr15bale6u82v5f3trckl' \
+-H 'Content-Type: application/json' \
+-d '{
+ "information": {
+ "name": "Data Model SubFolder"
+ }
+}'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "information": {
+ "versionId": "436982146B6B4FFFAC171091B6D6D437",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "DD627D5A5D4241EB96C448E8D10F2835",
+ "subType": "folder",
+ "name": "Data Model SubFolder",
+ "destinationFolderId": "5A62B0376E3B46D882DFC9901FDBE72E"
+ },
+ "contents": []
+}
+```
+
+- Response Code: 201 (Success: Created)
+
+## Update a folder
+
+You can only update the folder's name and destination folder ID.
+
+Endpoint: [PATCH /model/dataModels/\{dataModelId}/folders/\{folderId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Model/updateDataModelFolder)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: cskp6hr15bale6u82v5f3trckl'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+'X-MSTR-MS-Changeset: 9A272BF06D9C4A78871E993C9A86A971'
+```
+
+- Curl
+
+```bash
+curl -L -X PATCH 'https://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels/C9A69CBD16684E49AAB965F7F86CDB18/folders/DD627D5A5D4241EB96C448E8D10F2835' \
+-H 'X-MSTR-MS-Changeset: 9A272BF06D9C4A78871E993C9A86A971' \
+-H 'X-MSTR-AuthToken: cskp6hr15bale6u82v5f3trckl' \
+-H 'Content-Type: application/json' \
+-d '{
+ "information": {
+ "name": "renamed folder",
+ "destinationFolderId": "5A62B0376E3B46D882DFC9901FDBE72E"
+ }
+}'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "information": {
+ "versionId": "436982146B6B4FFFAC171091B6D6D437",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "DD627D5A5D4241EB96C448E8D10F2835",
+ "subType": "folder",
+ "name": "renamed folder",
+ "destinationFolderId": "5A62B0376E3B46D882DFC9901FDBE72E"
+ },
+ "contents": []
+}
+```
+
+- Response Code: 201 (Success: Created)
+
+## Delete a folder
+
+You can delete a folder from the data model. After you delete a folder, objects in the folder move to the parent folder.
+
+Endpoint: [DELETE /model/dataModels/\{dataModelId}/folders/\{folderId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Model/deleteDataModelFolder)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: cskp6hr15bale6u82v5f3trckl'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+'X-MSTR-MS-Changeset: 9A272BF06D9C4A78871E993C9A86A971'
+```
+
+- Curl
+
+```bash
+curl -L -X DELETE 'https://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels/C9A69CBD16684E49AAB965F7F86CDB18/folders/DD627D5A5D4241EB96C448E8D10F2835' \
+-H 'X-MSTR-MS-Changeset: 9A272BF06D9C4A78871E993C9A86A971' \
+-H 'X-MSTR-AuthToken: cskp6hr15bale6u82v5f3trckl'
+```
+
+Sample Response
+
+- Response Body: Empty
+
+- Response Code: 204 (Success: No Content)
diff --git a/docs/common-workflows/mosaic/manage-data-model-folders/manage-data-model-folders.md b/docs/common-workflows/mosaic/manage-data-model-folders/manage-data-model-folders.md
index 43dc5e26..485a4d25 100644
--- a/docs/common-workflows/mosaic/manage-data-model-folders/manage-data-model-folders.md
+++ b/docs/common-workflows/mosaic/manage-data-model-folders/manage-data-model-folders.md
@@ -16,3 +16,4 @@ Learn more about Strategy REST API Playground [here](/docs/getting-started/playg
You can use REST API requests to manage data model folders.
- [Retrieve Data Model Folders](retrieve-data-model-folders.md)
+- [Create, Update, and Delete a Folder](create-update-and-delete-a-folder.md)
diff --git a/docs/common-workflows/mosaic/manage-data-model-metrics/create-and-update-a-metric-embedded-object.md b/docs/common-workflows/mosaic/manage-data-model-metrics/create-and-update-a-metric-embedded-object.md
new file mode 100644
index 00000000..ae3692f6
--- /dev/null
+++ b/docs/common-workflows/mosaic/manage-data-model-metrics/create-and-update-a-metric-embedded-object.md
@@ -0,0 +1,299 @@
+---
+title: Create and update a metric embedded object
+description: This workflow demonstrates how to create and update a metric embedded object using REST API.
+---
+
+
+
+This workflow sample demonstrates how to create and update a metric embedded object using the REST API.
+
+:::info
+
+Get the authorization token needed to execute the request with [POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin).
+
+Get the project ID from [GET /api/projects](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Projects/getProjects_1).
+
+:::
+
+:::tip
+
+Changesets are used in this workflow. For information on how to create and use changesets, see [Changesets](/docs/common-workflows/modeling/changesets.md).
+
+:::
+
+## Create a metric embedded object
+
+Endpoint: [POST /api/model/dataModels/\{dataModelId\}/metrics/\{metricId\}/embeddedObjects](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Model/postDataModelMetricEmbeddedObject)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: pk2dudliaoqh5hmv240ururl82'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+'X-MSTR-MS-Changeset: 4E8D3C2F1C4B4E6E8C8F7A9B6D5E4C3B'
+```
+
+- Curl
+
+```bash
+curl -L -X POST 'https://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels/9345A3B387441C5E30E3338A5486BCE5/metrics/765C2AF2E8C9479F86FB917B0491EF1C/embeddedObjects' \
+-H 'X-MSTR-AuthToken: ujv2agc3532ha8ukp8fb2unpiu' \
+-H 'X-MSTR-MS-Changeset: 693B5EBB1E5D431192096D19C1DB727A' \
+-H 'Content-Type: application/json' \
+-d '{
+ "subType": "filter",
+ "qualification": {
+ "tree": {
+ "type": "predicate_relationship",
+ "predicateTree": {
+ "isIndependent": 1,
+ "level": [
+ {
+ "objectId": "66B218EE474DA80FFA78E2888559BEFB",
+ "subType": "attribute"
+ }
+ ],
+ "guide": {
+ "objectId": "D00AC8903A419BA5B50091BC9DC3EB56",
+ "subType": "fact_metric"
+ }
+ },
+ "children": [
+ {
+ "type": "predicate_form_qualification",
+ "predicateTree": {
+ "function": "greater",
+ "parameters": [
+ {
+ "parameterType": "constant",
+ "constant": {
+ "type": "int32",
+ "value": "2010"
+ }
+ }
+ ],
+ "attribute": {
+ "objectId": "66B218EE474DA80FFA78E2888559BEFB",
+ "subType": "attribute"
+ },
+ "form": {
+ "objectId": "45C11FA478E745FEA08D781CEA190FE5",
+ "subType": "attribute_form_system",
+ "name": "ID"
+ },
+ "dataLocale": ""
+ }
+ }
+ ]
+ }
+ }
+}'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "id": "F0826F8706A540CAB2380EBCD9D83B9E",
+ "subType": "filter",
+ "qualification": {
+ "text": "(Year where (Year (Year) > 2010) Relate by {On-Time Flights})",
+ "tree": {
+ "type": "predicate_relationship",
+ "predicateId": "B80C438D90CB4DFBB22C4B5BB1FC53A4",
+ "predicateTree": {
+ "level": [
+ {
+ "objectId": "66B218EE474DA80FFA78E2888559BEFB",
+ "subType": "attribute",
+ "name": "Year"
+ }
+ ],
+ "guide": {
+ "objectId": "D00AC8903A419BA5B50091BC9DC3EB56",
+ "subType": "fact_metric",
+ "name": "On-Time Flights"
+ },
+ "isIndependent": 1
+ },
+ "children": [
+ {
+ "type": "predicate_form_qualification",
+ "predicateId": "6154744C40884C53AD34318CBF5B0B04",
+ "predicateText": "(Year (Year) > 2010)",
+ "predicateTree": {
+ "function": "greater",
+ "parameters": [
+ {
+ "parameterType": "constant",
+ "constant": {
+ "type": "int32",
+ "value": "2010"
+ }
+ }
+ ],
+ "attribute": {
+ "objectId": "66B218EE474DA80FFA78E2888559BEFB",
+ "subType": "attribute",
+ "name": "Year"
+ },
+ "form": {
+ "objectId": "45C11FA478E745FEA08D781CEA190FE5",
+ "subType": "attribute_form_system",
+ "name": "Year"
+ },
+ "dataLocale": ""
+ }
+ }
+ ]
+ }
+ }
+}
+```
+
+- Response Code: 201 (Success: Created)
+
+## Update a metric embedded object
+
+Endpoint: [PUT /api/model/dataModels/\{dataModelId}/metrics/\{metricId}/embeddedObjects/\{embeddedObjectId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Model/getDataModelMetricEmbeddedObjects)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: pk2dudliaoqh5hmv240ururl82'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+'X-MSTR-MS-Changeset: 4E8D3C2F1C4B4E6E8C8F7A9B6D5E4C3B'
+```
+
+- Curl
+
+```bash
+curl -L -X PUT 'https://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels/9345A3B387441C5E30E3338A5486BCE5/metrics/765C2AF2E8C9479F86FB917B0491EF1C/embeddedObjects/88AD3CF858884A8DBD87E0FD87F2F24B' \
+-H 'X-MSTR-AuthToken: ujv2agc3532ha8ukp8fb2unpiu' \
+-H 'X-MSTR-MS-Changeset: 693B5EBB1E5D431192096D19C1DB727A' \
+-H 'Content-Type: application/json' \
+-H 'Cookie: JSESSIONID=AB0848052B6C47D19F2B73B44E2ACD43; iSession=ujv2agc3532ha8ukp8fb2unpiu; MSTRDEVICEID=6D0C8A89BC844B38AF1E4974D15AC76C; library-ingress="4be3345f9a169478"' \
+-d '{
+ "qualification": {
+ "tree": {
+ "type": "predicate_relationship",
+ "predicateTree": {
+ "isIndependent": 1,
+ "level": [
+ {
+ "objectId": "66B218EE474DA80FFA78E2888559BEFB",
+ "subType": "attribute"
+ }
+ ],
+ "guide": {
+ "objectId": "D00AC8903A419BA5B50091BC9DC3EB56",
+ "subType": "fact_metric",
+ "name": "New Dataset Table"
+ }
+ },
+ "children": [
+ {
+ "type": "predicate_form_qualification",
+ "predicateTree": {
+ "function": "less",
+ "parameters": [
+ {
+ "parameterType": "constant",
+ "constant": {
+ "type": "int32",
+ "value": "2020"
+ }
+ }
+ ],
+ "attribute": {
+ "objectId": "66B218EE474DA80FFA78E2888559BEFB",
+ "subType": "attribute"
+ },
+ "form": {
+ "objectId": "45C11FA478E745FEA08D781CEA190FE5",
+ "subType": "attribute_form_system",
+ "name": "ID"
+ },
+ "dataLocale": ""
+ }
+ }
+ ]
+ }
+ }
+}'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "id": "F0826F8706A540CAB2380EBCD9D83B9E",
+ "subType": "filter",
+ "qualification": {
+ "text": "(Year where (Year (Year) < 2020) Relate by {On-Time Flights})",
+ "tree": {
+ "type": "predicate_relationship",
+ "predicateId": "CF872293268F46FCB412D4DE804DA562",
+ "predicateTree": {
+ "level": [
+ {
+ "objectId": "66B218EE474DA80FFA78E2888559BEFB",
+ "subType": "attribute",
+ "name": "Year"
+ }
+ ],
+ "guide": {
+ "objectId": "D00AC8903A419BA5B50091BC9DC3EB56",
+ "subType": "fact_metric",
+ "name": "On-Time Flights"
+ },
+ "isIndependent": 1
+ },
+ "children": [
+ {
+ "type": "predicate_form_qualification",
+ "predicateId": "57934D97CA784533A182143F49AB4558",
+ "predicateText": "(Year (Year) < 2020)",
+ "predicateTree": {
+ "function": "less",
+ "parameters": [
+ {
+ "parameterType": "constant",
+ "constant": {
+ "type": "int32",
+ "value": "2020"
+ }
+ }
+ ],
+ "attribute": {
+ "objectId": "66B218EE474DA80FFA78E2888559BEFB",
+ "subType": "attribute",
+ "name": "Year"
+ },
+ "form": {
+ "objectId": "45C11FA478E745FEA08D781CEA190FE5",
+ "subType": "attribute_form_system",
+ "name": "Year"
+ },
+ "dataLocale": ""
+ }
+ }
+ ]
+ }
+ }
+}
+```
+
+- Response Code: 200 (Success: OK)
diff --git a/docs/common-workflows/mosaic/manage-data-model-metrics/create-update-and-delete-a-metric.md b/docs/common-workflows/mosaic/manage-data-model-metrics/create-update-and-delete-a-metric.md
new file mode 100644
index 00000000..5a0464b9
--- /dev/null
+++ b/docs/common-workflows/mosaic/manage-data-model-metrics/create-update-and-delete-a-metric.md
@@ -0,0 +1,430 @@
+---
+title: Create, update, and delete a metric
+description: This workflow demonstrates how to create, update, and delete a metric using REST API.
+---
+
+
+
+This workflow sample demonstrates how to create, update, and delete a metric in the data model using the REST API.
+
+:::info
+
+Get the authorization token needed to execute the request with [POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin).
+
+Get the project ID from [GET /api/projects](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Projects/getProjects_1).
+
+:::
+
+:::tip
+
+Changesets are used in this workflow. For information on how to create and use changesets, see [Changesets](/docs/common-workflows/modeling/changesets.md).
+
+:::
+
+## Create a metric
+
+You can create a metric based on existing attributes or base metrics in the data model, or with an empty expression definition that you can define later.
+
+Endpoint: [POST /api/model/dataModels/\{dataModelId}/metrics](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Model/postDataModelMetric)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: ujv2agc3532ha8ukp8fb2unpiu'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+'X-MSTR-MS-Changeset: F5427A0FB16F45ED8838BF0A9DAE1ADE'
+```
+
+- Curl
+
+```bash
+curl -L -X POST 'https://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels/9345A3B387441C5E30E3338A5486BCE5/metrics' \
+-H 'X-MSTR-AuthToken: ujv2agc3532ha8ukp8fb2unpiu' \
+-H 'X-MSTR-MS-Changeset: F5427A0FB16F45ED8838BF0A9DAE1ADE' \
+-H 'Content-Type: application/json' \
+-d '{
+ "information": {
+ "subType": "metric",
+ "name": "Sum of On-Time Flights"
+ },
+ "expression": {
+ "tokens": [
+ {
+ "value": "Sum([On-Time Flights])",
+ "type": "unknown",
+ "level": "client",
+ "state": "initial"
+ },
+ {
+ "state": "initial",
+ "value": "",
+ "type": "end_of_text"
+ }
+ ]
+ }
+}'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "information": {
+ "versionId": "6E4453515B394056B18126573779D9EC",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "50773CD772F24006A8A043982F05F5A0",
+ "subType": "metric",
+ "name": "Sum of On-Time Flights",
+ "destinationFolderId": "AEAFB673F041C535FFB27F8FCCC87408"
+ },
+ "expression": {
+ "text": "Sum({On-Time Flights})"
+ },
+ "dimty": {
+ "dimtyUnits": [
+ {
+ "dimtyUnitType": "report_base_level",
+ "aggregation": "normal",
+ "filtering": "apply",
+ "groupBy": true
+ }
+ ],
+ "excludeAttribute": false,
+ "allowAddingUnit": true
+ },
+ "conditionality": {
+ "embedMethod": "report_into_metric_filter",
+ "removeElements": true
+ },
+ "metricSubtotals": [
+ {
+ "definition": {
+ "objectId": "96C487AF4D12472A910C1ACACFB56EFB",
+ "subType": "system_subtotal",
+ "name": "Total"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "078C50834B484EE29948FA9DD5300ADF",
+ "subType": "system_subtotal",
+ "name": "Count"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "B328C60462634223B2387D4ADABEEB53",
+ "subType": "system_subtotal",
+ "name": "Average"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "00B7BFFF967F42C4B71A4B53D90FB095",
+ "subType": "system_subtotal",
+ "name": "Minimum"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "B1F4AA7DE683441BA559AA6453C5113E",
+ "subType": "system_subtotal",
+ "name": "Maximum"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "54E7BFD129514717A92BC44CF1FE5A32",
+ "subType": "system_subtotal",
+ "name": "Product"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "83A663067F7E43B2ABF67FD38ECDC7FE",
+ "subType": "system_subtotal",
+ "name": "Median"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "36226A4048A546139BE0AF5F24737BA8",
+ "subType": "system_subtotal",
+ "name": "Mode"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "7FBA414995194BBAB2CF1BB599209824",
+ "subType": "system_subtotal",
+ "name": "Standard Deviation"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "1769DBFCCF2D4392938E40418C6E065E",
+ "subType": "system_subtotal",
+ "name": "Variance"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "E1853D5A36C74F59A9F8DEFB3F9527A1",
+ "subType": "system_subtotal",
+ "name": "Geometric Mean"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "F225147A4CA0BB97368A5689D9675E73",
+ "subType": "system_subtotal",
+ "name": "Aggregation"
+ }
+ }
+ ],
+ "aggregateFromBase": true,
+ "formulaJoinType": "default",
+ "smartTotal": "decomposable_false",
+ "dataType": {
+ "type": "reserved",
+ "precision": 0,
+ "scale": 0
+ },
+ "format": {
+ "header": [],
+ "values": []
+ },
+ "subtotalFromBase": false,
+ "metricFormatType": "reserved",
+ "thresholds": [],
+ "embeddedObjects": [
+ {
+ "id": "3F1858796346C3653F66C2882E6BCDF2",
+ "subType": "agg_metric",
+ "expression": {
+ "text": "Sum({On-Time Flights})"
+ }
+ }
+ ],
+ "pushDownBehavior": "automatic"
+}
+```
+
+- Response Code: 201 (Success: Created)
+
+## Update a metric
+
+Endpoint: [PUT /api/model/dataModels/\{dataModelId}/metrics/\{metricId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Model/updateDataModelMetric)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: ujv2agc3532ha8ukp8fb2unpiu'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+'X-MSTR-MS-Changeset: F5427A0FB16F45ED8838BF0A9DAE1ADE'
+```
+
+- Curl
+
+```bash
+curl -L -X PUT 'https://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels/9345A3B387441C5E30E3338A5486BCE5/metrics/50773CD772F24006A8A043982F05F5A0' \
+-H 'X-MSTR-AuthToken: ujv2agc3532ha8ukp8fb2unpiu' \
+-H 'X-MSTR-MS-Changeset: F5427A0FB16F45ED8838BF0A9DAE1ADE' \
+-H 'Content-Type: application/json' \
+-d '{
+ "information": {
+ "name": "Sum of On-Time Flights Updated"
+ }
+}'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "information": {
+ "versionId": "6E4453515B394056B18126573779D9EC",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "50773CD772F24006A8A043982F05F5A0",
+ "subType": "metric",
+ "name": "Sum of On-Time Flights Updated",
+ "destinationFolderId": "AEAFB673F041C535FFB27F8FCCC87408"
+ },
+ "expression": {
+ "text": "Sum({On-Time Flights})"
+ },
+ "dimty": {
+ "dimtyUnits": [
+ {
+ "dimtyUnitType": "report_base_level",
+ "aggregation": "normal",
+ "filtering": "apply",
+ "groupBy": true
+ }
+ ],
+ "excludeAttribute": false,
+ "allowAddingUnit": true
+ },
+ "conditionality": {
+ "embedMethod": "report_into_metric_filter",
+ "removeElements": true
+ },
+ "metricSubtotals": [
+ {
+ "definition": {
+ "objectId": "96C487AF4D12472A910C1ACACFB56EFB",
+ "subType": "system_subtotal",
+ "name": "Total"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "078C50834B484EE29948FA9DD5300ADF",
+ "subType": "system_subtotal",
+ "name": "Count"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "B328C60462634223B2387D4ADABEEB53",
+ "subType": "system_subtotal",
+ "name": "Average"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "00B7BFFF967F42C4B71A4B53D90FB095",
+ "subType": "system_subtotal",
+ "name": "Minimum"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "B1F4AA7DE683441BA559AA6453C5113E",
+ "subType": "system_subtotal",
+ "name": "Maximum"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "54E7BFD129514717A92BC44CF1FE5A32",
+ "subType": "system_subtotal",
+ "name": "Product"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "83A663067F7E43B2ABF67FD38ECDC7FE",
+ "subType": "system_subtotal",
+ "name": "Median"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "36226A4048A546139BE0AF5F24737BA8",
+ "subType": "system_subtotal",
+ "name": "Mode"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "7FBA414995194BBAB2CF1BB599209824",
+ "subType": "system_subtotal",
+ "name": "Standard Deviation"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "1769DBFCCF2D4392938E40418C6E065E",
+ "subType": "system_subtotal",
+ "name": "Variance"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "E1853D5A36C74F59A9F8DEFB3F9527A1",
+ "subType": "system_subtotal",
+ "name": "Geometric Mean"
+ }
+ },
+ {
+ "definition": {
+ "objectId": "F225147A4CA0BB97368A5689D9675E73",
+ "subType": "system_subtotal",
+ "name": "Aggregation"
+ }
+ }
+ ],
+ "aggregateFromBase": true,
+ "formulaJoinType": "default",
+ "smartTotal": "decomposable_false",
+ "dataType": {
+ "type": "reserved",
+ "precision": 0,
+ "scale": 0
+ },
+ "format": {
+ "header": [],
+ "values": []
+ },
+ "subtotalFromBase": false,
+ "metricFormatType": "reserved",
+ "thresholds": [],
+ "embeddedObjects": [
+ {
+ "id": "3F1858796346C3653F66C2882E6BCDF2",
+ "subType": "agg_metric",
+ "expression": {
+ "text": "Sum({On-Time Flights})"
+ }
+ }
+ ],
+ "pushDownBehavior": "automatic"
+}
+```
+
+- Response Code: 200 (Success: OK)
+
+## Delete a metric
+
+Endpoint: [DELETE /api/model/dataModels/\{dataModelId}/metrics/\{metricId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Model/deleteDataModelMetric)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: ujv2agc3532ha8ukp8fb2unpiu'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+'X-MSTR-MS-Changeset: F5427A0FB16F45ED8838BF0A9DAE1ADE'
+```
+
+- Curl
+
+```bash
+curl -L -X DELETE 'https://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels/9345A3B387441C5E30E3338A5486BCE5/metrics/50773CD772F24006A8A043982F05F5A0' \
+-H 'X-MSTR-AuthToken: ujv2agc3532ha8ukp8fb2unpiu' \
+-H 'X-MSTR-MS-Changeset: F5427A0FB16F45ED8838BF0A9DAE1ADE'
+```
+
+Sample Response
+
+- Response Body: (empty)
+
+- Response Code: 204 (Success: No Content)
diff --git a/docs/common-workflows/mosaic/manage-data-model-metrics/manage-data-model-metrics.md b/docs/common-workflows/mosaic/manage-data-model-metrics/manage-data-model-metrics.md
index 36d97824..d64433aa 100644
--- a/docs/common-workflows/mosaic/manage-data-model-metrics/manage-data-model-metrics.md
+++ b/docs/common-workflows/mosaic/manage-data-model-metrics/manage-data-model-metrics.md
@@ -17,3 +17,5 @@ You can use REST API requests to manage data model metrics.
- [Retrieve Data Model Metrics](retrieve-data-model-metrics.md)
- [Retrieve Data Model Metric Embedded Objects](retrieve-a-data-model-metric-embedded-object.md)
+- [Create, Update, and Delete a Metric](create-update-and-delete-a-metric.md)
+- [Create and Update a Metric Embedded Object](create-and-update-a-metric-embedded-object.md)
diff --git a/docs/common-workflows/mosaic/manage-data-model-object-acl/retrieve-a-data-model-object-acl.md b/docs/common-workflows/mosaic/manage-data-model-object-acl/retrieve-a-data-model-object-acl.md
index 908a3b91..760ef442 100644
--- a/docs/common-workflows/mosaic/manage-data-model-object-acl/retrieve-a-data-model-object-acl.md
+++ b/docs/common-workflows/mosaic/manage-data-model-object-acl/retrieve-a-data-model-object-acl.md
@@ -5,38 +5,48 @@ description: You can use REST API requests to retrieve acl of an object inside a
-:::tip
+This workflow sample demonstrates how to retrieve the object ACL inside a data model, using the REST API with and without a changeset.
-You can try out this workflow at [REST API Playground](https://www.postman.com/microstrategysdk/microstrategy-rest-api/collection/5aq5sem/strategy-rest-api-workflows).
+:::info
-Learn more about Strategy REST API Playground [here](/docs/getting-started/playground.md).
+To get the authorization token needed to execute the request, use `POST /api/auth/login`.
+
+Get the project ID from `GET /api/projects`.
:::
-You can use REST APIs to retrieve the acl of an object inside a data model through the Modeling service.
+:::tip
+
+Changesets are used in this workflow. For information on how to create and use changesets, see [Changesets](/docs/common-workflows/modeling/changesets.md).
+
+:::
## Retrieve acl of an attribute inside a data model
There is a "Customer Statistics" data model with an "A44F79895E9247719292556AA14373F5" ID. This data model contains a "Customer" attribute with an "B9E7FD5911D3E936C000B3B2D86C964F" ID.
You want to get the acl of the "Customer" attribute.
-:::info
+To get the object ACL in your data model, use [GET /api/model/dataModels/\{dataModelId}/objects/\{objectId}/acl](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Models/getDataModelObjectAcl).
-To get the authorization token needed to execute the request, use `POST /api/auth/login`.
+Sample Request Without Changeset
-Get the project ID from `GET /api/projects`.
+- Request Headers
-:::
-
-:::tip
+```http
+"accept": "application/json"
+"X-MSTR-AuthToken": "pisu5dkkutqfblaamdomgr00ch"
+"X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754"
+```
-Changesets are used in this workflow. For information on how to create and use changesets, see [Changesets](/docs/common-workflows/modeling/changesets.md).
+- Curl:
-:::
+```bash
+curl -X GET "https://demo.microstrategy.com/MicroStrategyLibrary/api/dataModels/A44F79895E9247719292556AA14373F5/objects/B9E7FD5911D3E936C000B3B2D86C964F/acl?subType=attribute" -H "accept: application/json" -H "X-MSTR-AuthToken: pisu5dkkutqfblaamdomgr00ch" -H "X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754"
+```
-To get the acl of the object in your data model, use [GET /api/model/dataModels/\{dataModelId}/objects/\{objectId}/acl](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Models/getDataModelObjectAcl).
+Sample Request With Changeset
-Sample Request Header
+- Request Headers
```http
"accept": "application/json"
@@ -44,9 +54,7 @@ Sample Request Header
"X-MSTR-MS-Changeset": "0E9F01172ECF4BA2BB510F7B9FB4F6E8"
```
-Sample Request Body: Empty
-
-Sample Curl:
+- Curl:
```bash
curl -X GET "https://demo.microstrategy.com/MicroStrategyLibrary/api/dataModels/A44F79895E9247719292556AA14373F5/objects/B9E7FD5911D3E936C000B3B2D86C964F/acl?subType=attribute" -H "accept: application/json" -H "X-MSTR-AuthToken: pisu5dkkutqfblaamdomgr00ch" -H "X-MSTR-MS-Changeset: 0E9F01172ECF4BA2BB510F7B9FB4F6E8"
diff --git a/docs/common-workflows/mosaic/manage-data-model-object-translations/manage-data-model-object-translations.md b/docs/common-workflows/mosaic/manage-data-model-object-translations/manage-data-model-object-translations.md
new file mode 100644
index 00000000..037a93c0
--- /dev/null
+++ b/docs/common-workflows/mosaic/manage-data-model-object-translations/manage-data-model-object-translations.md
@@ -0,0 +1,21 @@
+---
+title: Manage data model object translations
+description: You can use REST API requests to retrieve and update object translations in the data model through the Modeling service.
+---
+
+
+
+:::tip
+
+You can try these workflows with [REST API Playground](https://www.postman.com/microstrategysdk/microstrategy-rest-api/collection/5aq5sem/strategy-rest-api-workflows).
+
+Learn more about Strategy REST API Playground [here](/docs/getting-started/playground.md).
+
+:::
+
+You can use REST API requests to retrieve and update object translations in the data model through the Modeling service.
+
+- [Get object translations in a Data Model](retrieve-a-data-model-object-translations.md)
+- [Update object translations in a Data Model](update-a-data-model-object-translations.md)
+
+For more information about the Modeling service, see [Configuring the Modeling Service](https://www2.microstrategy.com/producthelp/Current/InstallConfig/en-us/Content/modeling_service.htm).
diff --git a/docs/common-workflows/mosaic/manage-data-model-object-translations/retrieve-a-data-model-object-translations.md b/docs/common-workflows/mosaic/manage-data-model-object-translations/retrieve-a-data-model-object-translations.md
new file mode 100644
index 00000000..cc81bcd4
--- /dev/null
+++ b/docs/common-workflows/mosaic/manage-data-model-object-translations/retrieve-a-data-model-object-translations.md
@@ -0,0 +1,113 @@
+---
+title: Retrieve object translations inside a data model
+description: You can use REST API requests to retrieve object translations inside a data model.
+---
+
+
+
+This workflow sample demonstrates how to retrieve object translations inside a data model, using the REST API with and without a changeset.
+
+:::info
+
+To get the authorization token needed to execute the request, use `POST /api/auth/login`.
+
+Get the project ID from `GET /api/projects`.
+
+:::
+
+:::tip
+
+Changesets are used in this workflow. For information on how to create and use changesets, see [Changesets](/docs/common-workflows/modeling/changesets.md).
+
+:::
+
+## Retrieve translations of an attribute inside a data model
+
+There is a "Customer Statistics" data model with an "A44F79895E9247719292556AA14373F5" ID. This data model contains a "Customer City" attribute with an "F8473BF6D3FB4CC9B8C515C55FAD02FC" ID.
+You want to get the translations of the "Customer City" attribute.
+
+To get the object translations in your data model, use [GET /api/model/dataModels/\{dataModelId}/objects/\{objectId}/translations](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Models/getDataModelObjectTranslations).
+
+Sample Request Without Changeset
+
+- Request Headers
+
+```http
+"accept": "application/json"
+"X-MSTR-AuthToken": "pisu5dkkutqfblaamdomgr00ch"
+"X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754"
+```
+
+- Curl:
+
+```bash
+curl -X GET "https://demo.microstrategy.com/MicroStrategyLibrary/api/dataModels/A44F79895E9247719292556AA14373F5/objects/F8473BF6D3FB4CC9B8C515C55FAD02FC/translations?subType=attribute" -H "accept: application/json" -H "X-MSTR-AuthToken: pisu5dkkutqfblaamdomgr00ch" -H "X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754"
+```
+
+Sample Request With Changeset
+
+- Request Headers
+
+```http
+"accept": "application/json"
+"X-MSTR-AuthToken": "pisu5dkkutqfblaamdomgr00ch"
+"X-MSTR-MS-Changeset": "0E9F01172ECF4BA2BB510F7B9FB4F6E8"
+```
+
+- Curl:
+
+```bash
+curl -X GET "https://demo.microstrategy.com/MicroStrategyLibrary/api/dataModels/A44F79895E9247719292556AA14373F5/objects/F8473BF6D3FB4CC9B8C515C55FAD02FC/translations?subType=attribute" -H "accept: application/json" -H "X-MSTR-AuthToken: pisu5dkkutqfblaamdomgr00ch" -H "X-MSTR-MS-Changeset: 0E9F01172ECF4BA2BB510F7B9FB4F6E8"
+```
+
+Sample Response Body:
+
+```json
+{
+ "id": "F8473BF6D3FB4CC9B8C515C55FAD02FC",
+ "name": {
+ "targetName": "Object Name",
+ "translationValues": {
+ "1033": {
+ "translation": "Customer City"
+ },
+ "2052": {
+ "translation": "Customer City in Chinese"
+ }
+ }
+ },
+ "description": {
+ "targetName": "Object Description",
+ "translationValues": {
+ "1033": {
+ "translation": "Unique identifier for the customer city"
+ },
+ "1036": {
+ "translation": "Description translation in French"
+ }
+ }
+ },
+ "forms": {
+ "45C11FA478E745FEA08D781CEA190FE5": {
+ "name": {
+ "targetName": "Attribute Form Name",
+ "translationValues": {
+ "1033": {
+ "translation": "Customer City ID"
+ }
+ }
+ },
+ "description": {
+ "targetName": "Attribute Form Description",
+ "translationValues": {
+ "1033": {
+ "translation": "Unique identifier for the customer city"
+ }
+ }
+ }
+ }
+ }
+}
+```
+
+Response Code: 200
diff --git a/docs/common-workflows/mosaic/manage-data-model-object-translations/update-a-data-model-object-translations.md b/docs/common-workflows/mosaic/manage-data-model-object-translations/update-a-data-model-object-translations.md
new file mode 100644
index 00000000..791f6f5f
--- /dev/null
+++ b/docs/common-workflows/mosaic/manage-data-model-object-translations/update-a-data-model-object-translations.md
@@ -0,0 +1,105 @@
+---
+title: Update object translations inside a data model
+description: You can use REST API requests to update object translations inside a data model.
+---
+
+
+
+:::tip
+
+You can try out this workflow at [REST API Playground](https://www.postman.com/microstrategysdk/microstrategy-rest-api/collection/5aq5sem/strategy-rest-api-workflows).
+
+Learn more about Strategy REST API Playground [here](/docs/getting-started/playground.md).
+
+:::
+
+You can use REST APIs to update the object translations inside a data model through the Modeling service.
+
+## Update translations of a metric inside a data model
+
+There is a "Customer Statistics" data model with an "A44F79895E9247719292556AA14373F5" ID. This data model contains a "Sales" metric with an "B9E7FD5911D3E936C000B3B2D86C964F" ID.
+You want to update the translations of the "Sales" metric.
+
+:::info
+
+To get the authorization token needed to execute the request, use `POST /api/auth/login`.
+
+Get the project ID from `GET /api/projects`.
+
+:::
+
+:::tip
+
+Changesets are used in this workflow. For information on how to create and use changesets, see [Changesets](/docs/common-workflows/modeling/changesets.md).
+
+:::
+
+To update the object translations in your data model, use [PATCH /api/model/dataModels/\{dataModelId}/objects/\{objectId}/translations](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Models/updateDataModelObjectTranslations).
+
+Sample Request Header
+
+```http
+"accept": "application/json"
+"X-MSTR-AuthToken": "pisu5dkkutqfblaamdomgr00ch"
+"X-MSTR-MS-Changeset": "0E9F01172ECF4BA2BB510F7B9FB4F6E8"
+```
+
+Sample Request Body:
+
+```json
+{
+ "name": {
+ "targetName": "Object Name",
+ "translationValues": {
+ "1036": {
+ "translation": "Sales in French"
+ }
+ }
+ },
+ "description": {
+ "targetName": "Object Description",
+ "translationValues": {
+ "1036": {
+ "translation": "Description of sales in French"
+ }
+ }
+ }
+}
+```
+
+Sample Curl:
+
+```bash
+curl -X PATCH "https://demo.microstrategy.com/MicroStrategyLibrary/api/dataModels/A44F79895E9247719292556AA14373F5/objects/B9E7FD5911D3E936C000B3B2D86C964F/translations?subType=metric" -H "accept: application/json" -H "X-MSTR-AuthToken: pisu5dkkutqfblaamdomgr00ch" -H "X-MSTR-MS-Changeset: 0E9F01172ECF4BA2BB510F7B9FB4F6E8" -d '{"name":{"targetName":"Object Name","translationValues":{"1036":{"translation":"Sales in French"}}},"description":{"targetName":"Object Description","translationValues":{"1036":{"translation":"Description of sales in French"}}}}'
+```
+
+Sample Response Body:
+
+```json
+{
+ "name": {
+ "targetName": "Object Name",
+ "translationValues": {
+ "1033": {
+ "translation": "Sales"
+ },
+ "1036": {
+ "translation": "Sales in French"
+ }
+ }
+ },
+ "description": {
+ "targetName": "Object Description",
+ "translationValues": {
+ "1033": {
+ "translation": "Description of sales"
+ },
+ "1036": {
+ "translation": "Description of sales in French"
+ }
+ }
+ }
+}
+```
+
+Response Code: 200
diff --git a/docs/common-workflows/mosaic/manage-data-model-tables/create-update-and-delete-a-table.md b/docs/common-workflows/mosaic/manage-data-model-tables/create-update-and-delete-a-table.md
new file mode 100644
index 00000000..96caeac4
--- /dev/null
+++ b/docs/common-workflows/mosaic/manage-data-model-tables/create-update-and-delete-a-table.md
@@ -0,0 +1,502 @@
+---
+title: Create, update, and delete a table
+description: This workflow demonstrates how to create, update, and delete a table using REST API.
+---
+
+
+
+This workflow sample demonstrates how to create, update, and delete a table using the REST API.
+
+:::info
+
+Get the authorization token needed to execute the request with [POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin).
+
+Get the project ID from [GET /api/projects](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Projects/getProjects_1).
+
+:::
+
+:::tip
+
+Changesets are used in this workflow. For information on how to create and use changesets, see [Changesets](/docs/common-workflows/modeling/changesets.md).
+
+:::
+
+## Create a table
+
+You can create a table by specifying the physical table definition in the request body. The physical table should include the pipeline string. You can create pipelines in a workspace using workspace related APIs, then convert the pipelines to JSON strings manually.
+
+Endpoint: [POST /api/model/dataModels/\{dataModelId}/tables](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Model/addDataModelTable)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: 14c4ooq8loaalb3t231fljor6v'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+'X-MSTR-MS-Changeset: F340F6C40D144C619D0E974D7AAC556D'
+```
+
+- Curl
+
+```bash
+curl -L -X POST 'https://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels/0D007AE398F14670899B846A20418034/tables?fields=information%2CphysicalTable' \
+-H 'X-MSTR-MS-Changeset: F340F6C40D144C619D0E974D7AAC556D' \
+-H 'X-MSTR-AuthToken: 14c4ooq8loaalb3t231fljor6v' \
+-H 'Content-Type: application/json' \
+-d '{
+ "information": {
+ "name": "Month"
+ },
+ "physicalTable": {
+ "type": "pipeline",
+ "pipeline": "{\"id\":\"4E88D3BBA1054BBF9A2C2CE4AB2E8929\",\"rootTable\":{\"id\":\"AB8BE9F5B93E476498342ED25A40AC83\",\"type\":\"root\",\"children\":[{\"columns\":[{\"id\":\"A9DA53AAFD2C4C6093C094FAA20BD686\",\"name\":\"cust_city_id\",\"dataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0},\"sourceDataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0}},{\"id\":\"65FBE44CEBD94CA9962AB893BD1587C7\",\"name\":\"call_ctr_id\",\"dataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0},\"sourceDataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0}},{\"id\":\"CB7551952BED4E5F8240493187CF5573\",\"name\":\"tot_dollar_sales\",\"dataType\":{\"type\":\"double\",\"precision\":1000,\"scale\":998},\"sourceDataType\":{\"type\":\"double\",\"precision\":1000,\"scale\":998}},{\"id\":\"577EF28D6B3949F2A1CE496FA6A88518\",\"name\":\"tot_unit_sales\",\"dataType\":{\"type\":\"double\",\"precision\":1000,\"scale\":998},\"sourceDataType\":{\"type\":\"double\",\"precision\":1000,\"scale\":998}},{\"id\":\"BA6E8EF95CAB4C0BB4B8CEE8104C6681\",\"name\":\"tot_cost\",\"dataType\":{\"type\":\"double\",\"precision\":1000,\"scale\":998},\"sourceDataType\":{\"type\":\"double\",\"precision\":1000,\"scale\":998}},{\"id\":\"B38C5BE9A7CB4DB69A4B00051440E27E\",\"name\":\"gross_dollar_sales\",\"dataType\":{\"type\":\"double\",\"precision\":1000,\"scale\":998},\"sourceDataType\":{\"type\":\"double\",\"precision\":1000,\"scale\":998}}],\"importSource\":{\"type\":\"single_table\",\"dataSourceId\":\"E93B0C144F9EAF781E3993B5C439220D\",\"namespace\":\"public\",\"tableName\":\"city_ctr_sls\",\"sql\":\"\"},\"originalSchema\":\"{\\\"type\\\":\\\"struct\\\",\\\"fields\\\":[{\\\"name\\\":\\\"cust_city_id\\\",\\\"type\\\":\\\"integer\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":5,\\\"dssType\\\":\\\"short\\\",\\\"name\\\":\\\"cust_city_id\\\",\\\"scale\\\":0}},{\\\"name\\\":\\\"call_ctr_id\\\",\\\"type\\\":\\\"integer\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":5,\\\"dssType\\\":\\\"short\\\",\\\"name\\\":\\\"call_ctr_id\\\",\\\"scale\\\":0}},{\\\"name\\\":\\\"tot_dollar_sales\\\",\\\"type\\\":\\\"double\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":1000,\\\"dssType\\\":\\\"double\\\",\\\"name\\\":\\\"tot_dollar_sales\\\",\\\"scale\\\":998}},{\\\"name\\\":\\\"tot_unit_sales\\\",\\\"type\\\":\\\"double\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":1000,\\\"dssType\\\":\\\"double\\\",\\\"name\\\":\\\"tot_unit_sales\\\",\\\"scale\\\":998}},{\\\"name\\\":\\\"tot_cost\\\",\\\"type\\\":\\\"double\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":1000,\\\"dssType\\\":\\\"double\\\",\\\"name\\\":\\\"tot_cost\\\",\\\"scale\\\":998}},{\\\"name\\\":\\\"gross_dollar_sales\\\",\\\"type\\\":\\\"double\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":1000,\\\"dssType\\\":\\\"double\\\",\\\"name\\\":\\\"gross_dollar_sales\\\",\\\"scale\\\":998}}]}\",\"id\":\"1AE7EAA7B6234415888CEA6FE71AEEB5\",\"name\":\"city_ctr_sls\",\"type\":\"source\"}]}}"
+ }
+}
+'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "information": {
+ "versionId": "20876800190E464ABC13F1BA46D6A20D",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "FF3991BC3E8248F283F9B5BB5D6D5F70",
+ "subType": "logical_table",
+ "name": "Month",
+ "destinationFolderId": "2022642AE7BB4B5A80683E6F9C0B3ABD"
+ },
+ "physicalTable": {
+ "information": {
+ "versionId": "DE5686569BC248C1A8DCF17DFBD83705",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "02A6BA195CEA4BDDBF816B5C06CA58F1",
+ "subType": "physical_table",
+ "name": "New DB Table",
+ "destinationFolderId": "EE9BD70043F0F571B38E43BF19B9301A"
+ },
+ "columns": [
+ {
+ "information": {
+ "versionId": "C117BC0CD6E64FFB959FD3C14D07BD2C",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "06C227908A5049F18BAC8E93E5004CDD",
+ "subType": "column",
+ "name": "cust_city_id",
+ "destinationFolderId": "EE9BD70043F0F571B38E43BF19B9301A"
+ },
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "columnName": "cust_city_id"
+ },
+ {
+ "information": {
+ "versionId": "F2E17C239D244C82BBCA3D40E568D6E1",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "36419986A2C548FD894018FFD0EA8C21",
+ "subType": "column",
+ "name": "call_ctr_id",
+ "destinationFolderId": "EE9BD70043F0F571B38E43BF19B9301A"
+ },
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "columnName": "call_ctr_id"
+ },
+ {
+ "information": {
+ "versionId": "8387A50241674DEF9BC82F03DB129839",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "812E19C9E4674B628102E7016181DB0A",
+ "subType": "column",
+ "name": "tot_dollar_sales",
+ "destinationFolderId": "EE9BD70043F0F571B38E43BF19B9301A"
+ },
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "columnName": "tot_dollar_sales"
+ },
+ {
+ "information": {
+ "versionId": "42FBD75D7682423CB0DACAA9FCD2E257",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "572EB4B53CCB4A09BFFA4F4D39153167",
+ "subType": "column",
+ "name": "tot_unit_sales",
+ "destinationFolderId": "EE9BD70043F0F571B38E43BF19B9301A"
+ },
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "columnName": "tot_unit_sales"
+ },
+ {
+ "information": {
+ "versionId": "65F27CB44A114D2BB3FDAF3EC3D14B50",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "BED1BD15E6EF4F93A5E1BEE3C05145A5",
+ "subType": "column",
+ "name": "tot_cost",
+ "destinationFolderId": "EE9BD70043F0F571B38E43BF19B9301A"
+ },
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "columnName": "tot_cost"
+ },
+ {
+ "information": {
+ "versionId": "85CE63DA3B104093BFF2050F761DC122",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "C659D8B450BE4BFF9B3D8438AE79EDC5",
+ "subType": "column",
+ "name": "gross_dollar_sales",
+ "destinationFolderId": "EE9BD70043F0F571B38E43BF19B9301A"
+ },
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "columnName": "gross_dollar_sales"
+ }
+ ],
+ "type": "pipeline",
+ "pipeline": "{\"id\":\"4E88D3BBA1054BBF9A2C2CE4AB2E8929\",\"rootTable\":{\"id\":\"AB8BE9F5B93E476498342ED25A40AC83\",\"type\":\"root\",\"children\":[{\"columns\":[{\"id\":\"A9DA53AAFD2C4C6093C094FAA20BD686\",\"name\":\"cust_city_id\",\"dataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0},\"sourceDataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0}},{\"id\":\"65FBE44CEBD94CA9962AB893BD1587C7\",\"name\":\"call_ctr_id\",\"dataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0},\"sourceDataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0}},{\"id\":\"CB7551952BED4E5F8240493187CF5573\",\"name\":\"tot_dollar_sales\",\"dataType\":{\"type\":\"double\",\"precision\":1000,\"scale\":998},\"sourceDataType\":{\"type\":\"double\",\"precision\":1000,\"scale\":998}},{\"id\":\"577EF28D6B3949F2A1CE496FA6A88518\",\"name\":\"tot_unit_sales\",\"dataType\":{\"type\":\"double\",\"precision\":1000,\"scale\":998},\"sourceDataType\":{\"type\":\"double\",\"precision\":1000,\"scale\":998}},{\"id\":\"BA6E8EF95CAB4C0BB4B8CEE8104C6681\",\"name\":\"tot_cost\",\"dataType\":{\"type\":\"double\",\"precision\":1000,\"scale\":998},\"sourceDataType\":{\"type\":\"double\",\"precision\":1000,\"scale\":998}},{\"id\":\"B38C5BE9A7CB4DB69A4B00051440E27E\",\"name\":\"gross_dollar_sales\",\"dataType\":{\"type\":\"double\",\"precision\":1000,\"scale\":998},\"sourceDataType\":{\"type\":\"double\",\"precision\":1000,\"scale\":998}}],\"importSource\":{\"type\":\"single_table\",\"dataSourceId\":\"E93B0C144F9EAF781E3993B5C439220D\",\"namespace\":\"public\",\"tableName\":\"city_ctr_sls\",\"sql\":\"\"},\"originalSchema\":\"{\\\"type\\\":\\\"struct\\\",\\\"fields\\\":[{\\\"name\\\":\\\"cust_city_id\\\",\\\"type\\\":\\\"integer\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":5,\\\"dssType\\\":\\\"short\\\",\\\"name\\\":\\\"cust_city_id\\\",\\\"scale\\\":0}},{\\\"name\\\":\\\"call_ctr_id\\\",\\\"type\\\":\\\"integer\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":5,\\\"dssType\\\":\\\"short\\\",\\\"name\\\":\\\"call_ctr_id\\\",\\\"scale\\\":0}},{\\\"name\\\":\\\"tot_dollar_sales\\\",\\\"type\\\":\\\"double\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":1000,\\\"dssType\\\":\\\"double\\\",\\\"name\\\":\\\"tot_dollar_sales\\\",\\\"scale\\\":998}},{\\\"name\\\":\\\"tot_unit_sales\\\",\\\"type\\\":\\\"double\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":1000,\\\"dssType\\\":\\\"double\\\",\\\"name\\\":\\\"tot_unit_sales\\\",\\\"scale\\\":998}},{\\\"name\\\":\\\"tot_cost\\\",\\\"type\\\":\\\"double\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":1000,\\\"dssType\\\":\\\"double\\\",\\\"name\\\":\\\"tot_cost\\\",\\\"scale\\\":998}},{\\\"name\\\":\\\"gross_dollar_sales\\\",\\\"type\\\":\\\"double\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":1000,\\\"dssType\\\":\\\"double\\\",\\\"name\\\":\\\"gross_dollar_sales\\\",\\\"scale\\\":998}}]}\",\"id\":\"1AE7EAA7B6234415888CEA6FE71AEEB5\",\"name\":\"city_ctr_sls\",\"type\":\"source\"}]}}"
+ }
+}
+```
+
+- Response Code: 201 (Success: Created)
+
+## Create a table alias in the data model
+
+You can create a table alias by specifying an existing physical table in the request body.
+
+Endpoint: [POST /api/model/dataModels/\{dataModelId}/tables](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Model/addDataModelTable)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: sh9k098ofiakm2drhmq8ml5q4p'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+'X-MSTR-MS-Changeset: 17C4159267604C969838822859D7D4CD'
+```
+
+- Curl
+
+```bash
+curl -L -X POST 'https://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels/4490081B72354FCE9827DB1053A0050A/tables?fields=information%2CphysicalTable' \
+-H 'X-MSTR-MS-Changeset: 17C4159267604C969838822859D7D4CD' \
+-H 'X-MSTR-AuthToken: sh9k098ofiakm2drhmq8ml5q4p' \
+-H 'Content-Type: application/json' \
+-d '{
+ "physicalTable": {
+ "information": {
+ "objectId": "02A6BA195CEA4BDDBF816B5C06CA58F1",
+ "subType": "physical_table"
+ }
+ }
+}'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "information": {
+ "versionId": "EACDF6EFB55E4A1F920169AAD525601E",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "3C3A7C3EDDDF4813B06CCB55132F95D6",
+ "subType": "logical_table",
+ "name": "city_ctr_sls",
+ "destinationFolderId": "2022642AE7BB4B5A80683E6F9C0B3ABD"
+ },
+ "physicalTable": {
+ "information": {
+ "versionId": "DE5686569BC248C1A8DCF17DFBD83705",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "02A6BA195CEA4BDDBF816B5C06CA58F1",
+ "subType": "physical_table",
+ "name": "New DB Table",
+ "destinationFolderId": "EE9BD70043F0F571B38E43BF19B9301A"
+ },
+ "columns": [
+ {
+ "information": {
+ "versionId": "C117BC0CD6E64FFB959FD3C14D07BD2C",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "06C227908A5049F18BAC8E93E5004CDD",
+ "subType": "column",
+ "name": "cust_city_id",
+ "destinationFolderId": "EE9BD70043F0F571B38E43BF19B9301A"
+ },
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "columnName": "cust_city_id"
+ },
+ {
+ "information": {
+ "versionId": "F2E17C239D244C82BBCA3D40E568D6E1",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "36419986A2C548FD894018FFD0EA8C21",
+ "subType": "column",
+ "name": "call_ctr_id",
+ "destinationFolderId": "EE9BD70043F0F571B38E43BF19B9301A"
+ },
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "columnName": "call_ctr_id"
+ },
+ {
+ "information": {
+ "versionId": "8387A50241674DEF9BC82F03DB129839",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "812E19C9E4674B628102E7016181DB0A",
+ "subType": "column",
+ "name": "tot_dollar_sales",
+ "destinationFolderId": "EE9BD70043F0F571B38E43BF19B9301A"
+ },
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "columnName": "tot_dollar_sales"
+ },
+ {
+ "information": {
+ "versionId": "42FBD75D7682423CB0DACAA9FCD2E257",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "572EB4B53CCB4A09BFFA4F4D39153167",
+ "subType": "column",
+ "name": "tot_unit_sales",
+ "destinationFolderId": "EE9BD70043F0F571B38E43BF19B9301A"
+ },
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "columnName": "tot_unit_sales"
+ },
+ {
+ "information": {
+ "versionId": "65F27CB44A114D2BB3FDAF3EC3D14B50",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "BED1BD15E6EF4F93A5E1BEE3C05145A5",
+ "subType": "column",
+ "name": "tot_cost",
+ "destinationFolderId": "EE9BD70043F0F571B38E43BF19B9301A"
+ },
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "columnName": "tot_cost"
+ },
+ {
+ "information": {
+ "versionId": "85CE63DA3B104093BFF2050F761DC122",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "C659D8B450BE4BFF9B3D8438AE79EDC5",
+ "subType": "column",
+ "name": "gross_dollar_sales",
+ "destinationFolderId": "EE9BD70043F0F571B38E43BF19B9301A"
+ },
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "columnName": "gross_dollar_sales"
+ }
+ ],
+ "type": "pipeline",
+ "pipeline": "{\"id\":\"4E88D3BBA1054BBF9A2C2CE4AB2E8929\",\"rootTable\":{\"id\":\"AB8BE9F5B93E476498342ED25A40AC83\",\"type\":\"root\",\"children\":[{\"columns\":[{\"id\":\"A9DA53AAFD2C4C6093C094FAA20BD686\",\"name\":\"cust_city_id\",\"dataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0},\"sourceDataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0}},{\"id\":\"65FBE44CEBD94CA9962AB893BD1587C7\",\"name\":\"call_ctr_id\",\"dataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0},\"sourceDataType\":{\"type\":\"integer\",\"precision\":2,\"scale\":0}},{\"id\":\"CB7551952BED4E5F8240493187CF5573\",\"name\":\"tot_dollar_sales\",\"dataType\":{\"type\":\"double\",\"precision\":1000,\"scale\":998},\"sourceDataType\":{\"type\":\"double\",\"precision\":1000,\"scale\":998}},{\"id\":\"577EF28D6B3949F2A1CE496FA6A88518\",\"name\":\"tot_unit_sales\",\"dataType\":{\"type\":\"double\",\"precision\":1000,\"scale\":998},\"sourceDataType\":{\"type\":\"double\",\"precision\":1000,\"scale\":998}},{\"id\":\"BA6E8EF95CAB4C0BB4B8CEE8104C6681\",\"name\":\"tot_cost\",\"dataType\":{\"type\":\"double\",\"precision\":1000,\"scale\":998},\"sourceDataType\":{\"type\":\"double\",\"precision\":1000,\"scale\":998}},{\"id\":\"B38C5BE9A7CB4DB69A4B00051440E27E\",\"name\":\"gross_dollar_sales\",\"dataType\":{\"type\":\"double\",\"precision\":1000,\"scale\":998},\"sourceDataType\":{\"type\":\"double\",\"precision\":1000,\"scale\":998}}],\"importSource\":{\"type\":\"single_table\",\"dataSourceId\":\"E93B0C144F9EAF781E3993B5C439220D\",\"namespace\":\"public\",\"tableName\":\"city_ctr_sls\",\"sql\":\"\"},\"originalSchema\":\"{\\\"type\\\":\\\"struct\\\",\\\"fields\\\":[{\\\"name\\\":\\\"cust_city_id\\\",\\\"type\\\":\\\"integer\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":5,\\\"dssType\\\":\\\"short\\\",\\\"name\\\":\\\"cust_city_id\\\",\\\"scale\\\":0}},{\\\"name\\\":\\\"call_ctr_id\\\",\\\"type\\\":\\\"integer\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":5,\\\"dssType\\\":\\\"short\\\",\\\"name\\\":\\\"call_ctr_id\\\",\\\"scale\\\":0}},{\\\"name\\\":\\\"tot_dollar_sales\\\",\\\"type\\\":\\\"double\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":1000,\\\"dssType\\\":\\\"double\\\",\\\"name\\\":\\\"tot_dollar_sales\\\",\\\"scale\\\":998}},{\\\"name\\\":\\\"tot_unit_sales\\\",\\\"type\\\":\\\"double\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":1000,\\\"dssType\\\":\\\"double\\\",\\\"name\\\":\\\"tot_unit_sales\\\",\\\"scale\\\":998}},{\\\"name\\\":\\\"tot_cost\\\",\\\"type\\\":\\\"double\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":1000,\\\"dssType\\\":\\\"double\\\",\\\"name\\\":\\\"tot_cost\\\",\\\"scale\\\":998}},{\\\"name\\\":\\\"gross_dollar_sales\\\",\\\"type\\\":\\\"double\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"precision\\\":1000,\\\"dssType\\\":\\\"double\\\",\\\"name\\\":\\\"gross_dollar_sales\\\",\\\"scale\\\":998}}]}\",\"id\":\"1AE7EAA7B6234415888CEA6FE71AEEB5\",\"name\":\"city_ctr_sls\",\"type\":\"source\"}]}}"
+ }
+}
+```
+
+- Response Code: 201 (Success: Created)
+
+## Update a table in the data model
+
+You can update the name, destination folder, pipeline, and refresh policy of a table in the data model.
+
+Endpoint: [PATCH /api/model/dataModels/\{dataModelId}/tables/\{tableId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Model/patchDataModelTable)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: pk2dudliaoqh5hmv240ururl82'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+'X-MSTR-MS-Changeset: 889D6EF5F47541309FC97BAA41F944D5'
+```
+
+- Curl
+
+```bash
+curl -L -X PATCH 'https://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels/0D007AE398F14670899B846A20418034/tables/3C3A7C3EDDDF4813B06CCB55132F95D6' \
+-H 'X-MSTR-MS-Changeset: F340F6C40D144C619D0E974D7AAC556D' \
+-H 'X-MSTR-AuthToken: 14c4ooq8loaalb3t231fljor6v' \
+-H 'Content-Type: application/json' \
+-d '{
+ "physicalTable": {
+ "type": "pipeline",
+ "pipeline": "{\"id\":\"02FA6FBB46F94D73A82F4271989C99C5\",\"rootTable\":{\"id\":\"495603C2FCC6404FAC5B286AFA2DB28C\",\"type\":\"root\",\"children\":[{\"id\":\"71F61F3BF13C4B1D9086603EA1A0F57A\",\"name\":\"lu_brand\",\"type\":\"source\",\"columns\":[{\"id\":\"11CC38EBA46C44D1A82AE86CDBCC12F7\",\"name\":\"brand_id\",\"dataType\":{\"type\":\"integer\",\"precision\":0,\"scale\":0},\"sourceDataType\":{\"type\":\"utf8_char\",\"precision\":4,\"scale\":0}},{\"id\":\"10DD5C5566104A978F67A7B965D9A1C4\",\"name\":\"brand_desc\",\"dataType\":{\"type\":\"utf8_char\",\"precision\":0,\"scale\":0},\"sourceDataType\":{\"type\":\"utf8_char\",\"precision\":4,\"scale\":0}}],\"importSource\":{\"type\":\"single_table\",\"dataSourceId\":\"16286AD84D2C2E6635CF5BB56B5210BE\",\"namespace\":\"public\",\"tableName\":\"lu_brand\",\"sql\":\"\"},\"originalSchema\":\"{\\\"type\\\":\\\"struct\\\",\\\"fields\\\":[{\\\"name\\\":\\\"brand_id\\\",\\\"type\\\":\\\"integer\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"jdbcType\\\":5,\\\"precision\\\":0,\\\"name\\\":\\\"brand_id\\\",\\\"scale\\\":0}},{\\\"name\\\":\\\"brand_desc\\\",\\\"type\\\":\\\"string\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"jdbcType\\\":12,\\\"precision\\\":0,\\\"name\\\":\\\"brand_desc\\\",\\\"scale\\\":0}}]}\"}]}}"
+ }
+ }'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "information": {
+ "versionId": "EACDF6EFB55E4A1F920169AAD525601E",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "3C3A7C3EDDDF4813B06CCB55132F95D6",
+ "subType": "logical_table",
+ "name": "city_ctr_sls",
+ "destinationFolderId": "2022642AE7BB4B5A80683E6F9C0B3ABD"
+ },
+ "physicalTable": {
+ "information": {
+ "versionId": "DE5686569BC248C1A8DCF17DFBD83705",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "02A6BA195CEA4BDDBF816B5C06CA58F1",
+ "subType": "physical_table",
+ "name": "New DB Table",
+ "destinationFolderId": "EE9BD70043F0F571B38E43BF19B9301A"
+ },
+ "columns": [
+ {
+ "information": {
+ "versionId": "88A5BC88B2DD42318FC6A1AD68318B11",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "4EF148965CB64D49BB7F39652D1BCBEA",
+ "subType": "column",
+ "name": "brand_id",
+ "destinationFolderId": "EE9BD70043F0F571B38E43BF19B9301A"
+ },
+ "dataType": {
+ "type": "integer",
+ "precision": 0,
+ "scale": 0
+ },
+ "columnName": "brand_id"
+ },
+ {
+ "information": {
+ "versionId": "D2042A4F06E84DB39F01DE3488FD84D9",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "5FEF4BB5765B4BF2916902586DD11F72",
+ "subType": "column",
+ "name": "brand_desc",
+ "destinationFolderId": "EE9BD70043F0F571B38E43BF19B9301A"
+ },
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 0,
+ "scale": 0
+ },
+ "columnName": "brand_desc"
+ }
+ ],
+ "type": "pipeline",
+ "pipeline": "{\"id\":\"02FA6FBB46F94D73A82F4271989C99C5\",\"rootTable\":{\"id\":\"495603C2FCC6404FAC5B286AFA2DB28C\",\"type\":\"root\",\"children\":[{\"columns\":[{\"id\":\"11CC38EBA46C44D1A82AE86CDBCC12F7\",\"name\":\"brand_id\",\"dataType\":{\"type\":\"integer\",\"precision\":0,\"scale\":0},\"sourceDataType\":{\"type\":\"utf8_char\",\"precision\":4,\"scale\":0}},{\"id\":\"10DD5C5566104A978F67A7B965D9A1C4\",\"name\":\"brand_desc\",\"dataType\":{\"type\":\"utf8_char\",\"precision\":0,\"scale\":0},\"sourceDataType\":{\"type\":\"utf8_char\",\"precision\":4,\"scale\":0}}],\"importSource\":{\"type\":\"single_table\",\"dataSourceId\":\"16286AD84D2C2E6635CF5BB56B5210BE\",\"namespace\":\"public\",\"tableName\":\"lu_brand\",\"sql\":\"\"},\"originalSchema\":\"{\\\"type\\\":\\\"struct\\\",\\\"fields\\\":[{\\\"name\\\":\\\"brand_id\\\",\\\"type\\\":\\\"integer\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"jdbcType\\\":5,\\\"precision\\\":0,\\\"name\\\":\\\"brand_id\\\",\\\"scale\\\":0}},{\\\"name\\\":\\\"brand_desc\\\",\\\"type\\\":\\\"string\\\",\\\"nullable\\\":true,\\\"metadata\\\":{\\\"jdbcType\\\":12,\\\"precision\\\":0,\\\"name\\\":\\\"brand_desc\\\",\\\"scale\\\":0}}]}\",\"id\":\"71F61F3BF13C4B1D9086603EA1A0F57A\",\"name\":\"lu_brand\",\"type\":\"source\"}]}}"
+ },
+ "refreshPolicy": "replace"
+}
+```
+
+- Response Code: 200 (Success: OK)
+
+## Delete a table from the data model
+
+You can delete a table from the data model by specifying the table ID in the endpoint. After the table is deleted, all attributes and base metrics that depend on this table are also deleted.
+
+Endpoint: [DELETE /api/model/dataModels/\{dataModelId}/tables/\{tableId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Model/deleteDataModelTable)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: 14c4ooq8loaalb3t231fljor6v'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+'X-MSTR-MS-Changeset: F340F6C40D144C619D0E974D7AAC556D'
+```
+
+- Curl
+
+```bash
+curl -L -X DELETE 'https://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels/0D007AE398F14670899B846A20418034/tables/3C3A7C3EDDDF4813B06CCB55132F95D6' \
+-H 'X-MSTR-MS-Changeset: F340F6C40D144C619D0E974D7AAC556D' \
+-H 'X-MSTR-AuthToken: 14c4ooq8loaalb3t231fljor6v'
+```
+
+Sample Response
+
+- Response Body: (empty)
+- Response Code: 204 (Success: No Content)
diff --git a/docs/common-workflows/mosaic/manage-data-model-tables/manage-data-model-tables.md b/docs/common-workflows/mosaic/manage-data-model-tables/manage-data-model-tables.md
index 6eb07bb5..122ef2ee 100644
--- a/docs/common-workflows/mosaic/manage-data-model-tables/manage-data-model-tables.md
+++ b/docs/common-workflows/mosaic/manage-data-model-tables/manage-data-model-tables.md
@@ -16,3 +16,4 @@ Learn more about Strategy REST API Playground [here](/docs/getting-started/playg
You can use REST API requests to manage data model tables.
- [Retrieve Data Model Tables](retrieve-data-model-tables.md)
+- [Create, Update, and Delete a Table](create-update-and-delete-a-table.md)
diff --git a/docs/common-workflows/mosaic/manage-data-models/create-and-update-a-data-model.md b/docs/common-workflows/mosaic/manage-data-models/create-and-update-a-data-model.md
new file mode 100644
index 00000000..743feabd
--- /dev/null
+++ b/docs/common-workflows/mosaic/manage-data-models/create-and-update-a-data-model.md
@@ -0,0 +1,158 @@
+---
+title: Create and update a data model
+description: This workflow demonstrates how to create and update a data model using REST API.
+---
+
+
+
+This workflow sample demonstrates how to create and update a data model using the REST API.
+
+:::info
+
+Get the authorization token needed to execute the request with [POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin).
+
+Get the project ID from [GET /api/projects](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Projects/getProjects_1).
+
+:::
+
+:::tip
+
+Changesets are used in this workflow. For information on how to create and use changesets, see [Changesets](/docs/common-workflows/modeling/changesets.md).
+
+:::
+
+## Create a data model
+
+You can create a new data model based on the definition provided in the request body. The definition of the newly created data model is returned in response. When creating a new data model, a schema folder is created. Other data model objects are stored in this schema folder by default.
+
+Endpoint: [POST /api/model/dataModels](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Model/postDataModel)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: 7h79kekgo882nfivb9s4qspdvf'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+'X-MSTR-MS-Changeset: 889D6EF5F47541309FC97BAA41F944D5'
+```
+
+- Curl
+
+```bash
+curl -L -X POST 'http://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels' \
+-H 'X-MSTR-MS-Changeset: 889D6EF5F47541309FC97BAA41F944D5' \
+-H 'X-MSTR-AuthToken: 7h79kekgo882nfivb9s4qspdvf' \
+-H 'Content-Type: application/json' \
+-d '{
+ "information": {
+ "name": "new data model",
+ "destinationFolderId": "D3C7D461F69C4610AA6BAA5EF51F4125"
+ },
+ "dataServeMode": "in_memory"
+}'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "information": {
+ "versionId": "B9278F7EE823414DA74DA8707D46F62B",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "9718C21C5FB74088BB40DB77F4B6DF42",
+ "subType": "report_emma_cube",
+ "name": "new data model",
+ "destinationFolderId": "D3C7D461F69C4610AA6BAA5EF51F4125"
+ },
+ "dataServeMode": "in_memory",
+ "schemaFolderId": "3EACC14E167946418833FDCEA7EC37D5",
+ "enableWrangleRecommendations": true,
+ "enableAutoHierarchyRelationships": true,
+ "sampling": {
+ "type": "first",
+ "rowCount": 1000
+ },
+ "partition": {
+ "mode": "automatic",
+ "number": 4
+ },
+ "autoJoin": true
+}
+```
+
+- Response Code: 201 (Success: Created)
+
+## Update a data model
+
+You can update the following fields in a data model: `name`, `destinationFolderId`, `enableWrangleRecommendations`, `enableAutoHierarchyRelationships`, `sampling`, `partition`, `dataServeMode`, and `autoJoin`.
+
+Endpoint: [PATCH /api/model/dataModels/\{dataModelId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Data%20Model/updateDataModel)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: pk2dudliaoqh5hmv240ururl82'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+'X-MSTR-MS-Changeset: 889D6EF5F47541309FC97BAA41F944D5'
+```
+
+- Curl
+
+```bash
+curl -L -X PATCH 'https://demo.microstrategy.com/MicroStrategyLibrary/api/model/dataModels/9718C21C5FB74088BB40DB77F4B6DF42' \
+-H 'X-MSTR-MS-Changeset: 889D6EF5F47541309FC97BAA41F944D5' \
+-H 'X-MSTR-AuthToken: p8ffoq0alma3a1lp0rmju36dhp' \
+-H 'Content-Type: application/json' \
+-d '{
+ "information": {
+ "name": "renamed data model"
+ },
+ "sampling": {
+ "type": "random",
+ "rowCount": 2000
+ }
+}'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "information": {
+ "versionId": "A9416196A3EF4F318E85A62C45C57D8B",
+ "acg": 255,
+ "primaryLocale": "en-US",
+ "objectId": "9718C21C5FB74088BB40DB77F4B6DF42",
+ "subType": "report_emma_cube",
+ "name": "renamed data model",
+ "destinationFolderId": "D3C7D461F69C4610AA6BAA5EF51F4125"
+ },
+ "dataServeMode": "in_memory",
+ "schemaFolderId": "1B88F9499B234A2FA11CB3473CA27530",
+ "enableWrangleRecommendations": true,
+ "enableAutoHierarchyRelationships": true,
+ "sampling": {
+ "type": "random",
+ "rowCount": 2000
+ },
+ "partition": {
+ "mode": "automatic",
+ "number": 4
+ },
+ "autoJoin": true
+}
+```
+
+- Response Code: 200 (Success: OK)
diff --git a/docs/common-workflows/mosaic/manage-data-models/manage-data-models.md b/docs/common-workflows/mosaic/manage-data-models/manage-data-models.md
index 87e6c3fb..cd8e3ac9 100644
--- a/docs/common-workflows/mosaic/manage-data-models/manage-data-models.md
+++ b/docs/common-workflows/mosaic/manage-data-models/manage-data-models.md
@@ -16,3 +16,4 @@ Learn more about Strategy REST API Playground [here](/docs/getting-started/playg
You can use REST API requests to manage data models.
- [Retrieve a Data Model](retrieve-a-data-model.md)
+- [Create and Update a Data Model](create-and-update-a-data-model.md)
diff --git a/docs/common-workflows/mosaic/manage-workspace-pipeline-tables/create-retrieve-update-and-delete-a-source-table.md b/docs/common-workflows/mosaic/manage-workspace-pipeline-tables/create-retrieve-update-and-delete-a-source-table.md
new file mode 100644
index 00000000..1183b4e3
--- /dev/null
+++ b/docs/common-workflows/mosaic/manage-workspace-pipeline-tables/create-retrieve-update-and-delete-a-source-table.md
@@ -0,0 +1,486 @@
+---
+title: Create, retrieve, update, and delete a source table
+description: This workflow demonstrates how to create, retrieve, update, and delete a source table using REST API.
+---
+
+
+
+This workflow sample demonstrates how to create, retrieve, update, and delete a source table using the REST API.
+
+:::info
+
+Get the authorization token needed to execute the request with [POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin).
+
+Get the project ID from [GET /api/projects](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Projects/getProjects_1).
+
+:::
+
+:::tip
+
+Changesets are used in this workflow. For information on how to create and use changesets, see [Changesets](/docs/common-workflows/modeling/changesets.md).
+
+:::
+
+## Create a source table
+
+You can create a source table by specifying the `importSource` property in the request body. The `type` should be set to `source`, and you can also specify `name` and `sampling` properties.
+
+Endpoint: [POST /api/dataServer/workspaces/\{workspaceId}/pipelines/\{pipelineId}/tables](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Workspaces/createDataServerTable)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: pgho7427r1e6p0tem7e677jivk'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+- Curl
+
+```bash
+curl -L -X POST 'https://demo.microstrategy.com/MicroStrategyLibrary/api/dataServer/workspaces/4BAFCC62A574441C8C44611CB7A68319/pipelines/5ACCEE40038F473BA24E484202D6C295/tables' \
+-H 'X-MSTR-AuthToken: k74fgfb7d3sk20rld2b1ekv50u' \
+-H 'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754' \
+-H 'Content-Type: application/json' \
+-d '{
+ "name": "Source Table",
+ "type": "source",
+ "importSource": {
+ "dataSourceId": "E93B0C144F9EAF781E3993B5C439220D",
+ "type": "single_table",
+ "namespace": "public",
+ "tableName": "employees_upper"
+ },
+ "sampling": {
+ "type": "first"
+ }
+}'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "id": "1CF01B803AD24DE3A4156AB8805E8FD9",
+ "name": "Source Table",
+ "type": "source",
+ "columns": [
+ {
+ "id": "7100747806254F94A6C4E7FC017BE43C",
+ "name": "ID",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "F8E73B7FA24B4F2C8FA21469CC5EF26A",
+ "name": "NAME",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "DCFDF36880A64367970C9E0C7D4E1313",
+ "name": "AGE",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "710F813A1D0B45DD8A0EBB9B7D58226D",
+ "name": "DEPART",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "5DB7E0858C8C44239BACCC486A678A55",
+ "name": "SALARY",
+ "dataType": {
+ "type": "double",
+ "precision": 10,
+ "scale": 2
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 10,
+ "scale": 2
+ }
+ },
+ {
+ "id": "BE8AF9F5BB7B436DA29FD65D77AE6576",
+ "name": "iD",
+ "dataType": {
+ "type": "int64",
+ "precision": 8,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "int64",
+ "precision": 8,
+ "scale": 0
+ }
+ }
+ ],
+ "importSource": {
+ "type": "single_table",
+ "dataSourceId": "E93B0C144F9EAF781E3993B5C439220D",
+ "namespace": "public",
+ "tableName": "employees_upper",
+ "sql": "",
+ "filterString": ""
+ },
+ "originalSchema": "{\"type\":\"struct\",\"fields\":[{\"name\":\"ID\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"precision\":50,\"dssType\":\"utf8_char\",\"name\":\"ID\",\"scale\":0}},{\"name\":\"NAME\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"precision\":50,\"dssType\":\"utf8_char\",\"name\":\"NAME\",\"scale\":0}},{\"name\":\"AGE\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"precision\":50,\"dssType\":\"utf8_char\",\"name\":\"AGE\",\"scale\":0}},{\"name\":\"DEPART\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"precision\":50,\"dssType\":\"utf8_char\",\"name\":\"DEPART\",\"scale\":0}},{\"name\":\"SALARY\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":10,\"dssType\":\"double\",\"name\":\"SALARY\",\"scale\":2}},{\"name\":\"iD\",\"type\":\"long\",\"nullable\":true,\"metadata\":{\"precision\":19,\"dssType\":\"int64\",\"name\":\"iD\",\"scale\":0}}]}",
+ "sampling": {
+ "type": "first"
+ }
+}
+```
+
+- Response Code: 201 (Success: Created)
+
+## Retrieve a source table
+
+Endpoint: [GET /api/dataServer/workspaces/\{workspaceId}/pipelines/\{pipelineId}/tables/\{tableId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Workspaces/getDataServerTable)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: pgho7427r1e6p0tem7e677jivk'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+- Curl
+
+```bash
+curl -L -X GET 'https://demo.microstrategy.com/MicroStrategyLibrary/api/dataServer/workspaces/4BAFCC62A574441C8C44611CB7A68319/pipelines/5ACCEE40038F473BA24E484202D6C295/tables/1CF01B803AD24DE3A4156AB8805E8FD9' \
+-H 'X-MSTR-AuthToken: k74fgfb7d3sk20rld2b1ekv50u' \
+-H 'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "id": "1CF01B803AD24DE3A4156AB8805E8FD9",
+ "name": "Source Table",
+ "type": "source",
+ "columns": [
+ {
+ "id": "7100747806254F94A6C4E7FC017BE43C",
+ "name": "ID",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "F8E73B7FA24B4F2C8FA21469CC5EF26A",
+ "name": "NAME",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "DCFDF36880A64367970C9E0C7D4E1313",
+ "name": "AGE",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "710F813A1D0B45DD8A0EBB9B7D58226D",
+ "name": "DEPART",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "5DB7E0858C8C44239BACCC486A678A55",
+ "name": "SALARY",
+ "dataType": {
+ "type": "double",
+ "precision": 10,
+ "scale": 2
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 10,
+ "scale": 2
+ }
+ },
+ {
+ "id": "BE8AF9F5BB7B436DA29FD65D77AE6576",
+ "name": "iD",
+ "dataType": {
+ "type": "int64",
+ "precision": 8,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "int64",
+ "precision": 8,
+ "scale": 0
+ }
+ }
+ ],
+ "importSource": {
+ "type": "single_table",
+ "dataSourceId": "E93B0C144F9EAF781E3993B5C439220D",
+ "namespace": "public",
+ "tableName": "employees_upper",
+ "sql": "",
+ "filterString": ""
+ },
+ "originalSchema": "{\"type\":\"struct\",\"fields\":[{\"name\":\"ID\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"precision\":50,\"dssType\":\"utf8_char\",\"name\":\"ID\",\"scale\":0}},{\"name\":\"NAME\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"precision\":50,\"dssType\":\"utf8_char\",\"name\":\"NAME\",\"scale\":0}},{\"name\":\"AGE\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"precision\":50,\"dssType\":\"utf8_char\",\"name\":\"AGE\",\"scale\":0}},{\"name\":\"DEPART\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"precision\":50,\"dssType\":\"utf8_char\",\"name\":\"DEPART\",\"scale\":0}},{\"name\":\"SALARY\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":10,\"dssType\":\"double\",\"name\":\"SALARY\",\"scale\":2}},{\"name\":\"iD\",\"type\":\"long\",\"nullable\":true,\"metadata\":{\"precision\":19,\"dssType\":\"int64\",\"name\":\"iD\",\"scale\":0}}]}",
+ "sampling": {
+ "type": "first"
+ }
+}
+```
+
+- Response Code: 200 (Success: OK)
+
+## Update a source table
+
+You can update `name`, `importSource`, and `sampling` properties of a source table. The `type` property cannot be updated.
+
+Endpoint: [PATCH /api/dataServer/workspaces/\{workspaceId}/pipelines/\{pipelineId\}/tables/\{tableId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Workspaces/updateDataServerTable)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: pgho7427r1e6p0tem7e677jivk'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+- Curl
+
+```bash
+curl -L -X PATCH 'https://demo.microstrategy.com/MicroStrategyLibrary/api/dataServer/workspaces/4BAFCC62A574441C8C44611CB7A68319/pipelines/5ACCEE40038F473BA24E484202D6C295/tables/1CF01B803AD24DE3A4156AB8805E8FD9' \
+-H 'X-MSTR-AuthToken: k74fgfb7d3sk20rld2b1ekv50u' \
+-H 'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754' \
+-H 'Content-Type: application/json' \
+-d '{
+ "name": "updated table name",
+ "type": "source",
+ "importSource": {
+ "type": "single_table",
+ "dataSourceId": "E93B0C144F9EAF781E3993B5C439220D",
+ "namespace": "public",
+ "tableName": "employees_lower",
+ "sql": ""
+ }
+}'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "id": "1CF01B803AD24DE3A4156AB8805E8FD9",
+ "name": "updated table name",
+ "type": "source",
+ "columns": [
+ {
+ "id": "DEC96BDD17BB4E24AD00F0330F73BEDC",
+ "name": "id",
+ "dataType": {
+ "type": "integer",
+ "precision": 4,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "integer",
+ "precision": 4,
+ "scale": 0
+ }
+ },
+ {
+ "id": "F8E73B7FA24B4F2C8FA21469CC5EF26A",
+ "name": "name",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "DCFDF36880A64367970C9E0C7D4E1313",
+ "name": "age",
+ "dataType": {
+ "type": "integer",
+ "precision": 4,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "integer",
+ "precision": 4,
+ "scale": 0
+ }
+ },
+ {
+ "id": "B605045D8CDC427383265283420532B4",
+ "name": "department",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "5DB7E0858C8C44239BACCC486A678A55",
+ "name": "salary",
+ "dataType": {
+ "type": "double",
+ "precision": 10,
+ "scale": 2
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 10,
+ "scale": 2
+ }
+ },
+ {
+ "id": "76DE329774F347708C90FA38BDCA2056",
+ "name": "Id",
+ "dataType": {
+ "type": "int64",
+ "precision": 8,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "int64",
+ "precision": 8,
+ "scale": 0
+ }
+ }
+ ],
+ "importSource": {
+ "type": "single_table",
+ "dataSourceId": "E93B0C144F9EAF781E3993B5C439220D",
+ "namespace": "public",
+ "tableName": "employees_lower",
+ "sql": "",
+ "filterString": ""
+ },
+ "originalSchema": "{\"type\":\"struct\",\"fields\":[{\"name\":\"id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"precision\":10,\"dssType\":\"integer\",\"name\":\"id\",\"scale\":0}},{\"name\":\"name\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"precision\":50,\"dssType\":\"utf8_char\",\"name\":\"name\",\"scale\":0}},{\"name\":\"age\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"precision\":10,\"dssType\":\"integer\",\"name\":\"age\",\"scale\":0}},{\"name\":\"department\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"precision\":50,\"dssType\":\"utf8_char\",\"name\":\"department\",\"scale\":0}},{\"name\":\"salary\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":10,\"dssType\":\"double\",\"name\":\"salary\",\"scale\":2}},{\"name\":\"Id\",\"type\":\"long\",\"nullable\":true,\"metadata\":{\"precision\":19,\"dssType\":\"int64\",\"name\":\"Id\",\"scale\":0}}]}",
+ "sampling": {
+ "type": "first"
+ }
+}
+```
+
+- Response Code: 200 (Success: OK)
+
+## Delete a source table
+
+Endpoint: [DELETE /api/dataServer/workspaces/\{workspaceId}/pipelines/\{pipelineId}/tables/\{tableId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Workspaces/deleteDataServerTable)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: pgho7427r1e6p0tem7e677jivk'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+- Curl
+
+```bash
+curl -L -X DELETE 'https://demo.microstrategy.com/MicroStrategyLibrary/api/dataServer/workspaces/4BAFCC62A574441C8C44611CB7A68319/pipelines/5ACCEE40038F473BA24E484202D6C295/tables/1CF01B803AD24DE3A4156AB8805E8FD9' \
+-H 'X-MSTR-AuthToken: k74fgfb7d3sk20rld2b1ekv50u' \
+-H 'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+Sample Response
+
+- Response Body: (empty)
+
+- Response Code: 204 (Success: No Content)
diff --git a/docs/common-workflows/mosaic/manage-workspace-pipeline-tables/create-retrieve-update-and-delete-a-wrangle-table.md b/docs/common-workflows/mosaic/manage-workspace-pipeline-tables/create-retrieve-update-and-delete-a-wrangle-table.md
new file mode 100644
index 00000000..cadfc382
--- /dev/null
+++ b/docs/common-workflows/mosaic/manage-workspace-pipeline-tables/create-retrieve-update-and-delete-a-wrangle-table.md
@@ -0,0 +1,831 @@
+---
+title: Create, retrieve, update, and delete a wrangle table
+description: This workflow demonstrates how to create, retrieve, update, and delete a wrangle table using REST API.
+---
+
+
+
+This workflow sample demonstrates how to create, retrieve, update, and delete a wrangle table using the REST API.
+
+:::info
+
+Get the authorization token needed to execute the request with [POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin).
+
+Get the project ID from [GET /api/projects](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Projects/getProjects_1).
+
+:::
+
+:::tip
+
+Changesets are used in this workflow. For information on how to create and use changesets, see [Changesets](/docs/common-workflows/modeling/changesets.md).
+
+:::
+
+Wrangle tables are used to perform data preparation tasks such as cleaning, transforming, and enriching data before analysis. A wrangle table includes a source table as its child, and a series of wrangle operations.
+
+## Create a wrangle table
+
+Endpoint: [POST /api/dataServer/workspaces/\{workspaceId}/pipelines/\{pipelineId}/tables](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Workspaces/createDataServerTable)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: pgho7427r1e6p0tem7e677jivk'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+- Curl
+
+```bash
+curl -L -X POST 'https://demo.microstrategy.com/MicroStrategyLibrary/api/dataServer/workspaces/F380303209054FCFA52811989EA8C6F2/pipelines/9A4CA133630F4843A386C522C87FCD47/tables' \
+-H 'X-MSTR-AuthToken: ceasprajdnuo9g4cnnh9sf1r8a' \
+-H 'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754' \
+-H 'Content-Type: application/json' \
+-d '{
+ "name": "employees_upper",
+ "type": "wrangle",
+ "children": [
+ {
+ "name": "employees_upper",
+ "type": "source",
+ "importSource": {
+ "type": "single_table",
+ "dataSourceId": "E93B0C144F9EAF781E3993B5C439220D",
+ "namespace": "public",
+ "tableName": "employees_upper",
+ "sql": "",
+ "filterString": ""
+ }
+ }
+ ],
+ "operations": [
+ {
+ "op": "splitColumn",
+ "category": "split",
+ "source": "manual",
+ "analyzed": true,
+ "regex2": false,
+ "mode": "lengths",
+ "separator": "",
+ "regex": false,
+ "maxColumns": -1,
+ "fieldLengths": [
+ 1
+ ],
+ "newColumnNames": [
+ "First Name",
+ "Last Name"
+ ],
+ "removeOriginalColumn": true,
+ "columnName": "NAME",
+ "editMode": false
+ }
+ ]
+}'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "id": "93FD7BC03D8147949B00D584E033A312",
+ "name": "employees_upper",
+ "type": "wrangle",
+ "columns": [
+ {
+ "id": "CE44F52D085642169CBB159BE3364EF0",
+ "name": "ID",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "C1C2C0A3064C4D409027CCB77620536A",
+ "name": "First Name",
+ "dataType": {
+ "type": "utf8_char"
+ },
+ "sourceDataType": {
+ "type": "utf8_char"
+ }
+ },
+ {
+ "id": "95B9336E0F1D41AD9B1D6A4B86210D7A",
+ "name": "Last Name",
+ "dataType": {
+ "type": "utf8_char"
+ },
+ "sourceDataType": {
+ "type": "utf8_char"
+ }
+ },
+ {
+ "id": "E202834082AF49BD93ADD2293E7EDE1D",
+ "name": "AGE",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "273FF9DB3E85400A88F8C89861894B9C",
+ "name": "DEPART",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "B7404EEEA2E44CAFAE3EF6359A09B4AC",
+ "name": "SALARY",
+ "dataType": {
+ "type": "double",
+ "precision": 10,
+ "scale": 2
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 10,
+ "scale": 2
+ }
+ },
+ {
+ "id": "5062E2F9BE5C4CB49C2237E0C510552C",
+ "name": "iD",
+ "dataType": {
+ "type": "int64",
+ "precision": 8,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "int64",
+ "precision": 8,
+ "scale": 0
+ }
+ }
+ ],
+ "operations": [
+ {
+ "id": "88e2f455f5234ca587199e1491cc2396",
+ "op": "splitColumn",
+ "category": "split",
+ "source": "manual",
+ "analyzed": true,
+ "regex2": false,
+ "mode": "lengths",
+ "separator": "",
+ "regex": false,
+ "maxColumns": -1,
+ "fieldLengths": [1],
+ "newColumnNames": ["First Name", "Last Name"],
+ "newColumnIds": ["C1C2C0A3064C4D409027CCB77620536A", "95B9336E0F1D41AD9B1D6A4B86210D7A"],
+ "removeOriginalColumn": true,
+ "columnName": "NAME",
+ "editMode": false
+ }
+ ],
+ "children": [
+ {
+ "id": "70F67D2792BA4C2C9CB703F766796668",
+ "name": "employees_upper",
+ "type": "source",
+ "columns": [
+ {
+ "id": "CE44F52D085642169CBB159BE3364EF0",
+ "name": "ID",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "607077D0569E49A392AC5DC704FBB386",
+ "name": "NAME",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "E202834082AF49BD93ADD2293E7EDE1D",
+ "name": "AGE",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "273FF9DB3E85400A88F8C89861894B9C",
+ "name": "DEPART",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "B7404EEEA2E44CAFAE3EF6359A09B4AC",
+ "name": "SALARY",
+ "dataType": {
+ "type": "double",
+ "precision": 10,
+ "scale": 2
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 10,
+ "scale": 2
+ }
+ },
+ {
+ "id": "5062E2F9BE5C4CB49C2237E0C510552C",
+ "name": "iD",
+ "dataType": {
+ "type": "int64",
+ "precision": 8,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "int64",
+ "precision": 8,
+ "scale": 0
+ }
+ }
+ ],
+ "importSource": {
+ "type": "single_table",
+ "dataSourceId": "E93B0C144F9EAF781E3993B5C439220D",
+ "namespace": "public",
+ "tableName": "employees_upper",
+ "sql": "",
+ "filterString": ""
+ },
+ "originalSchema": "{\"type\":\"struct\",\"fields\":[{\"name\":\"ID\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"precision\":50,\"dssType\":\"utf8_char\",\"name\":\"ID\",\"scale\":0}},{\"name\":\"NAME\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"precision\":50,\"dssType\":\"utf8_char\",\"name\":\"NAME\",\"scale\":0}},{\"name\":\"AGE\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"precision\":50,\"dssType\":\"utf8_char\",\"name\":\"AGE\",\"scale\":0}},{\"name\":\"DEPART\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"precision\":50,\"dssType\":\"utf8_char\",\"name\":\"DEPART\",\"scale\":0}},{\"name\":\"SALARY\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":10,\"dssType\":\"double\",\"name\":\"SALARY\",\"scale\":2}},{\"name\":\"iD\",\"type\":\"long\",\"nullable\":true,\"metadata\":{\"precision\":19,\"dssType\":\"int64\",\"name\":\"iD\",\"scale\":0}}]}"
+ }
+ ]
+}
+```
+
+- Response Code: 201 (Success: Created)
+
+## Retrieve a wrangle table
+
+Endpoint: [GET /api/dataServer/workspaces/\{workspaceId}/pipelines/\{pipelineId}/tables/\{tableId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Workspaces/getDataServerTable)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: pgho7427r1e6p0tem7e677jivk'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+- Curl
+
+```bash
+curl -L -X GET 'https://demo.microstrategy.com/MicroStrategyLibrary/api/dataServer/workspaces/F380303209054FCFA52811989EA8C6F2/pipelines/9A4CA133630F4843A386C522C87FCD47/tables/93FD7BC03D8147949B00D584E033A312' \
+-H 'X-MSTR-AuthToken: ceasprajdnuo9g4cnnh9sf1r8a' \
+-H 'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "id": "93FD7BC03D8147949B00D584E033A312",
+ "name": "employees_upper",
+ "type": "wrangle",
+ "columns": [
+ {
+ "id": "CE44F52D085642169CBB159BE3364EF0",
+ "name": "ID",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "C1C2C0A3064C4D409027CCB77620536A",
+ "name": "First Name",
+ "dataType": {
+ "type": "utf8_char"
+ },
+ "sourceDataType": {
+ "type": "utf8_char"
+ }
+ },
+ {
+ "id": "95B9336E0F1D41AD9B1D6A4B86210D7A",
+ "name": "Last Name",
+ "dataType": {
+ "type": "utf8_char"
+ },
+ "sourceDataType": {
+ "type": "utf8_char"
+ }
+ },
+ {
+ "id": "E202834082AF49BD93ADD2293E7EDE1D",
+ "name": "AGE",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "273FF9DB3E85400A88F8C89861894B9C",
+ "name": "DEPART",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "B7404EEEA2E44CAFAE3EF6359A09B4AC",
+ "name": "SALARY",
+ "dataType": {
+ "type": "double",
+ "precision": 10,
+ "scale": 2
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 10,
+ "scale": 2
+ }
+ },
+ {
+ "id": "5062E2F9BE5C4CB49C2237E0C510552C",
+ "name": "iD",
+ "dataType": {
+ "type": "int64",
+ "precision": 8,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "int64",
+ "precision": 8,
+ "scale": 0
+ }
+ }
+ ],
+ "operations": [
+ {
+ "id": "88e2f455f5234ca587199e1491cc2396",
+ "op": "splitColumn",
+ "category": "split",
+ "source": "manual",
+ "analyzed": true,
+ "regex2": false,
+ "mode": "lengths",
+ "separator": "",
+ "regex": false,
+ "maxColumns": -1,
+ "fieldLengths": [1],
+ "newColumnNames": ["First Name", "Last Name"],
+ "newColumnIds": ["C1C2C0A3064C4D409027CCB77620536A", "95B9336E0F1D41AD9B1D6A4B86210D7A"],
+ "removeOriginalColumn": true,
+ "columnName": "NAME",
+ "editMode": false
+ }
+ ],
+ "children": [
+ {
+ "id": "70F67D2792BA4C2C9CB703F766796668",
+ "name": "employees_upper",
+ "type": "source",
+ "columns": [
+ {
+ "id": "CE44F52D085642169CBB159BE3364EF0",
+ "name": "ID",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "607077D0569E49A392AC5DC704FBB386",
+ "name": "NAME",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "E202834082AF49BD93ADD2293E7EDE1D",
+ "name": "AGE",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "273FF9DB3E85400A88F8C89861894B9C",
+ "name": "DEPART",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "B7404EEEA2E44CAFAE3EF6359A09B4AC",
+ "name": "SALARY",
+ "dataType": {
+ "type": "double",
+ "precision": 10,
+ "scale": 2
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 10,
+ "scale": 2
+ }
+ },
+ {
+ "id": "5062E2F9BE5C4CB49C2237E0C510552C",
+ "name": "iD",
+ "dataType": {
+ "type": "int64",
+ "precision": 8,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "int64",
+ "precision": 8,
+ "scale": 0
+ }
+ }
+ ],
+ "importSource": {
+ "type": "single_table",
+ "dataSourceId": "E93B0C144F9EAF781E3993B5C439220D",
+ "namespace": "public",
+ "tableName": "employees_upper",
+ "sql": "",
+ "filterString": ""
+ },
+ "originalSchema": "{\"type\":\"struct\",\"fields\":[{\"name\":\"ID\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"precision\":50,\"dssType\":\"utf8_char\",\"name\":\"ID\",\"scale\":0}},{\"name\":\"NAME\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"precision\":50,\"dssType\":\"utf8_char\",\"name\":\"NAME\",\"scale\":0}},{\"name\":\"AGE\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"precision\":50,\"dssType\":\"utf8_char\",\"name\":\"AGE\",\"scale\":0}},{\"name\":\"DEPART\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"precision\":50,\"dssType\":\"utf8_char\",\"name\":\"DEPART\",\"scale\":0}},{\"name\":\"SALARY\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":10,\"dssType\":\"double\",\"name\":\"SALARY\",\"scale\":2}},{\"name\":\"iD\",\"type\":\"long\",\"nullable\":true,\"metadata\":{\"precision\":19,\"dssType\":\"int64\",\"name\":\"iD\",\"scale\":0}}]}"
+ }
+ ]
+}
+```
+
+- Response Code: 200 (Success: OK)
+
+## Update a wrangle table
+
+You can update `name` and `operations` of a wrangle table.
+
+Endpoint: [PATCH /api/dataServer/workspaces/\{workspaceId}/pipelines/\{pipelineId\}/tables/\{tableId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Workspaces/updateDataServerTable)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: pgho7427r1e6p0tem7e677jivk'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+- Curl
+
+```bash
+curl -L -X PATCH 'https://demo.microstrategy.com/MicroStrategyLibrary/api/dataServer/workspaces/F380303209054FCFA52811989EA8C6F2/pipelines/9A4CA133630F4843A386C522C87FCD47/tables/93FD7BC03D8147949B00D584E033A312' \
+-H 'X-MSTR-AuthToken: ceasprajdnuo9g4cnnh9sf1r8a' \
+-H 'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754' \
+-H 'Content-Type: application/json' \
+-d '{
+ "name": "updated wrangle table",
+ "type": "wrangle",
+ "operations": []
+}'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "id": "93FD7BC03D8147949B00D584E033A312",
+ "name": "employees_upper",
+ "type": "wrangle",
+ "columns": [
+ {
+ "id": "CE44F52D085642169CBB159BE3364EF0",
+ "name": "ID",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "607077D0569E49A392AC5DC704FBB386",
+ "name": "NAME",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "E202834082AF49BD93ADD2293E7EDE1D",
+ "name": "AGE",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "273FF9DB3E85400A88F8C89861894B9C",
+ "name": "DEPART",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "B7404EEEA2E44CAFAE3EF6359A09B4AC",
+ "name": "SALARY",
+ "dataType": {
+ "type": "double",
+ "precision": 10,
+ "scale": 2
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 10,
+ "scale": 2
+ }
+ },
+ {
+ "id": "5062E2F9BE5C4CB49C2237E0C510552C",
+ "name": "iD",
+ "dataType": {
+ "type": "int64",
+ "precision": 8,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "int64",
+ "precision": 8,
+ "scale": 0
+ }
+ }
+ ],
+ "operations": [],
+ "children": [
+ {
+ "id": "70F67D2792BA4C2C9CB703F766796668",
+ "name": "employees_upper",
+ "type": "source",
+ "columns": [
+ {
+ "id": "CE44F52D085642169CBB159BE3364EF0",
+ "name": "ID",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "607077D0569E49A392AC5DC704FBB386",
+ "name": "NAME",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "E202834082AF49BD93ADD2293E7EDE1D",
+ "name": "AGE",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "273FF9DB3E85400A88F8C89861894B9C",
+ "name": "DEPART",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 50,
+ "scale": 0
+ }
+ },
+ {
+ "id": "B7404EEEA2E44CAFAE3EF6359A09B4AC",
+ "name": "SALARY",
+ "dataType": {
+ "type": "double",
+ "precision": 10,
+ "scale": 2
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 10,
+ "scale": 2
+ }
+ },
+ {
+ "id": "5062E2F9BE5C4CB49C2237E0C510552C",
+ "name": "iD",
+ "dataType": {
+ "type": "int64",
+ "precision": 8,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "int64",
+ "precision": 8,
+ "scale": 0
+ }
+ }
+ ],
+ "importSource": {
+ "type": "single_table",
+ "dataSourceId": "E93B0C144F9EAF781E3993B5C439220D",
+ "namespace": "public",
+ "tableName": "employees_upper",
+ "sql": "",
+ "filterString": ""
+ },
+ "originalSchema": "{\"type\":\"struct\",\"fields\":[{\"name\":\"ID\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"precision\":50,\"dssType\":\"utf8_char\",\"name\":\"ID\",\"scale\":0}},{\"name\":\"NAME\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"precision\":50,\"dssType\":\"utf8_char\",\"name\":\"NAME\",\"scale\":0}},{\"name\":\"AGE\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"precision\":50,\"dssType\":\"utf8_char\",\"name\":\"AGE\",\"scale\":0}},{\"name\":\"DEPART\",\"type\":\"string\",\"nullable\":true,\"metadata\":{\"precision\":50,\"dssType\":\"utf8_char\",\"name\":\"DEPART\",\"scale\":0}},{\"name\":\"SALARY\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":10,\"dssType\":\"double\",\"name\":\"SALARY\",\"scale\":2}},{\"name\":\"iD\",\"type\":\"long\",\"nullable\":true,\"metadata\":{\"precision\":19,\"dssType\":\"int64\",\"name\":\"iD\",\"scale\":0}}]}"
+ }
+ ]
+}
+```
+
+- Response Code: 200 (Success: OK)
+
+## Delete a wrangle table
+
+Endpoint: [DELETE /api/dataServer/workspaces/\{workspaceId}/pipelines/\{pipelineId}/tables/\{tableId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Workspaces/deleteDataServerTable)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: pgho7427r1e6p0tem7e677jivk'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+- Curl
+
+```bash
+curl -L -X DELETE 'https://demo.microstrategy.com/MicroStrategyLibrary/api/dataServer/workspaces/F380303209054FCFA52811989EA8C6F2/pipelines/9A4CA133630F4843A386C522C87FCD47/tables/93FD7BC03D8147949B00D584E033A312' \
+-H 'X-MSTR-AuthToken: ceasprajdnuo9g4cnnh9sf1r8a' \
+-H 'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+Sample Response
+
+- Response Body: (empty)
+
+- Response Code: 204 (Success: No Content)
diff --git a/docs/common-workflows/mosaic/manage-workspace-pipeline-tables/manage-workspace-pipeline-tables.md b/docs/common-workflows/mosaic/manage-workspace-pipeline-tables/manage-workspace-pipeline-tables.md
new file mode 100644
index 00000000..f408d477
--- /dev/null
+++ b/docs/common-workflows/mosaic/manage-workspace-pipeline-tables/manage-workspace-pipeline-tables.md
@@ -0,0 +1,19 @@
+---
+title: Manage workspace pipeline tables
+description: You can use REST API requests to manage workspace pipeline tables.
+---
+
+
+
+:::tip
+
+You can try these workflows with [REST API Playground](https://www.postman.com/microstrategysdk/microstrategy-rest-api/collection/5aq5sem/strategy-rest-api-workflows).
+
+Learn more about Strategy REST API Playground [here](/docs/getting-started/playground.md).
+
+:::
+
+You can use REST API requests to manage workspace pipeline tables.
+
+- [Create, Retrieve, Update, and Delete a Source Table](create-retrieve-update-and-delete-a-source-table.md)
+- [Create, Retrieve, Update, and Delete a Wrangle table](create-retrieve-update-and-delete-a-wrangle-table.md)
diff --git a/docs/common-workflows/mosaic/manage-workspace-pipelines/create-retrieve-update-and-delete-a-pipeline.md b/docs/common-workflows/mosaic/manage-workspace-pipelines/create-retrieve-update-and-delete-a-pipeline.md
new file mode 100644
index 00000000..96a88593
--- /dev/null
+++ b/docs/common-workflows/mosaic/manage-workspace-pipelines/create-retrieve-update-and-delete-a-pipeline.md
@@ -0,0 +1,487 @@
+---
+title: Create, retrieve, update, and delete a pipeline
+description: This workflow demonstrates how to create, retrieve, update, and delete a pipeline using REST API.
+---
+
+
+
+This workflow sample demonstrates how to create, retrieve, update, and delete a pipeline using the REST API.
+
+:::info
+
+Get the authorization token needed to execute the request with [POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin).
+
+Get the project ID from [GET /api/projects](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Projects/getProjects_1).
+
+:::
+
+:::tip
+
+Changesets are used in this workflow. For information on how to create and use changesets, see [Changesets](/docs/common-workflows/modeling/changesets.md).
+
+:::
+
+Pipeline is the main component in a workspace, which defines a root table. The child of the root table can be a source table or a wrangle table.
+
+## Create an empty pipeline
+
+Endpoint: [POST /api/dataServer/workspaces/\{workspaceId}/pipelines](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Workspaces/createPipeline)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: pgho7427r1e6p0tem7e677jivk'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+- Curl
+
+```bash
+curl -L -X POST 'https://demo.microstrategy.com/MicroStrategyLibrary/api/dataServer/workspaces/1230A03B66734BDE96236391F836AB43/pipelines' \
+-H 'X-MSTR-AuthToken: 34jp6e0j4sahqd8ttedqe800ed' \
+-H 'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754' \
+-H 'Content-Type: application/json' \
+-d '{}'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "id": "5EF18E2548AD40E89C41E574126A7758",
+ "rootTable": {
+ "id": "87C403052D3A41299F3813D45FFE92F6",
+ "type": "root",
+ "children": []
+ }
+}
+```
+
+- Response Code: 201 (Success: Created)
+
+## Update a pipeline
+
+Endpoint: [PATCH /api/dataServer/workspaces/\{workspaceId}/pipelines/\{pipelineId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Workspaces/updatePipeline)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: pgho7427r1e6p0tem7e677jivk'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+- Curl
+
+```bash
+curl -L -X PATCH 'https://demo.microstrategy.com/MicroStrategyLibrary/api/dataServer/workspaces/1230A03B66734BDE96236391F836AB43/pipelines/5EF18E2548AD40E89C41E574126A7758' \
+-H 'X-MSTR-AuthToken: 34jp6e0j4sahqd8ttedqe800ed' \
+-H 'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754' \
+-H 'Content-Type: application/json' \
+-d '{
+ "id": "A45CFC1C2004425CB2F6138E2E6A7575",
+ "rootTable": {
+ "id": "5239E93D5AB74DB5ABE162AA2FD19D02",
+ "type": "root",
+ "children": [
+ {
+ "id": "BA5C182DC15C4C00AA85A73EBB0C081A",
+ "name": "item_mnth_sls",
+ "type": "source",
+ "columns": [
+ {
+ "id": "CDD9AD8EA17E400A93759A3EAD7FA377",
+ "name": "item_id",
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ }
+ },
+ {
+ "id": "90A2E151F50A4C13A18D300CCEF64DCA",
+ "name": "month_id",
+ "dataType": {
+ "type": "integer",
+ "precision": 4,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "integer",
+ "precision": 4,
+ "scale": 0
+ }
+ },
+ {
+ "id": "F27737BAAF64414CA8B2B45F0FC3D949",
+ "name": "tot_dollar_sales",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "95BEB2D7E167480F8B0C258A494F5631",
+ "name": "tot_unit_sales",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "96B6744A5CAF40E7A70769182EEF019B",
+ "name": "tot_cost",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "9B538947DDFF4394829125558EB2D688",
+ "name": "gross_dollar_sales",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ }
+ ],
+ "importSource": {
+ "type": "single_table",
+ "dataSourceId": "E93B0C144F9EAF781E3993B5C439220D",
+ "namespace": "public",
+ "tableName": "item_mnth_sls",
+ "sql": "",
+ "filterString": ""
+ },
+ "originalSchema": "{\"type\":\"struct\",\"fields\":[{\"name\":\"item_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"precision\":5,\"dssType\":\"short\",\"name\":\"item_id\",\"scale\":0}},{\"name\":\"month_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"precision\":10,\"dssType\":\"integer\",\"name\":\"month_id\",\"scale\":0}},{\"name\":\"tot_dollar_sales\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"tot_dollar_sales\",\"scale\":998}},{\"name\":\"tot_unit_sales\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"tot_unit_sales\",\"scale\":998}},{\"name\":\"tot_cost\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"tot_cost\",\"scale\":998}},{\"name\":\"gross_dollar_sales\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"gross_dollar_sales\",\"scale\":998}}]}"
+ }
+ ]
+ }
+}'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "id": "5EF18E2548AD40E89C41E574126A7758",
+ "rootTable": {
+ "id": "5239E93D5AB74DB5ABE162AA2FD19D02",
+ "type": "root",
+ "children": [
+ {
+ "id": "BA5C182DC15C4C00AA85A73EBB0C081A",
+ "name": "item_mnth_sls",
+ "type": "source",
+ "columns": [
+ {
+ "id": "CDD9AD8EA17E400A93759A3EAD7FA377",
+ "name": "item_id",
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ }
+ },
+ {
+ "id": "90A2E151F50A4C13A18D300CCEF64DCA",
+ "name": "month_id",
+ "dataType": {
+ "type": "integer",
+ "precision": 4,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "integer",
+ "precision": 4,
+ "scale": 0
+ }
+ },
+ {
+ "id": "F27737BAAF64414CA8B2B45F0FC3D949",
+ "name": "tot_dollar_sales",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "95BEB2D7E167480F8B0C258A494F5631",
+ "name": "tot_unit_sales",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "96B6744A5CAF40E7A70769182EEF019B",
+ "name": "tot_cost",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "9B538947DDFF4394829125558EB2D688",
+ "name": "gross_dollar_sales",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ }
+ ],
+ "importSource": {
+ "type": "single_table",
+ "dataSourceId": "E93B0C144F9EAF781E3993B5C439220D",
+ "namespace": "public",
+ "tableName": "item_mnth_sls",
+ "sql": "",
+ "filterString": ""
+ },
+ "originalSchema": "{\"type\":\"struct\",\"fields\":[{\"name\":\"item_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"precision\":5,\"dssType\":\"short\",\"name\":\"item_id\",\"scale\":0}},{\"name\":\"month_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"precision\":10,\"dssType\":\"integer\",\"name\":\"month_id\",\"scale\":0}},{\"name\":\"tot_dollar_sales\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"tot_dollar_sales\",\"scale\":998}},{\"name\":\"tot_unit_sales\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"tot_unit_sales\",\"scale\":998}},{\"name\":\"tot_cost\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"tot_cost\",\"scale\":998}},{\"name\":\"gross_dollar_sales\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"gross_dollar_sales\",\"scale\":998}}]}"
+ }
+ ]
+ }
+}
+```
+
+- Response Code: 200 (Success: OK)
+
+## Retrieve a pipeline
+
+Endpoint: [GET /api/dataServer/workspaces/\{workspaceId}/pipelines/\{pipelineId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Workspaces/getPipeline)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: pgho7427r1e6p0tem7e677jivk'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+- Curl
+
+```bash
+curl -L -X GET 'https://demo.microstrategy.com/MicroStrategyLibrary/api/dataServer/workspaces/1230A03B66734BDE96236391F836AB43/pipelines/5EF18E2548AD40E89C41E574126A7758' \
+-H 'X-MSTR-AuthToken: 34jp6e0j4sahqd8ttedqe800ed' \
+-H 'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "id": "5EF18E2548AD40E89C41E574126A7758",
+ "rootTable": {
+ "id": "5239E93D5AB74DB5ABE162AA2FD19D02",
+ "type": "root",
+ "children": [
+ {
+ "id": "BA5C182DC15C4C00AA85A73EBB0C081A",
+ "name": "item_mnth_sls",
+ "type": "source",
+ "columns": [
+ {
+ "id": "CDD9AD8EA17E400A93759A3EAD7FA377",
+ "name": "item_id",
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ }
+ },
+ {
+ "id": "90A2E151F50A4C13A18D300CCEF64DCA",
+ "name": "month_id",
+ "dataType": {
+ "type": "integer",
+ "precision": 4,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "integer",
+ "precision": 4,
+ "scale": 0
+ }
+ },
+ {
+ "id": "F27737BAAF64414CA8B2B45F0FC3D949",
+ "name": "tot_dollar_sales",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "95BEB2D7E167480F8B0C258A494F5631",
+ "name": "tot_unit_sales",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "96B6744A5CAF40E7A70769182EEF019B",
+ "name": "tot_cost",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "9B538947DDFF4394829125558EB2D688",
+ "name": "gross_dollar_sales",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ }
+ ],
+ "importSource": {
+ "type": "single_table",
+ "dataSourceId": "E93B0C144F9EAF781E3993B5C439220D",
+ "namespace": "public",
+ "tableName": "item_mnth_sls",
+ "sql": "",
+ "filterString": ""
+ },
+ "originalSchema": "{\"type\":\"struct\",\"fields\":[{\"name\":\"item_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"precision\":5,\"dssType\":\"short\",\"name\":\"item_id\",\"scale\":0}},{\"name\":\"month_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"precision\":10,\"dssType\":\"integer\",\"name\":\"month_id\",\"scale\":0}},{\"name\":\"tot_dollar_sales\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"tot_dollar_sales\",\"scale\":998}},{\"name\":\"tot_unit_sales\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"tot_unit_sales\",\"scale\":998}},{\"name\":\"tot_cost\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"tot_cost\",\"scale\":998}},{\"name\":\"gross_dollar_sales\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"gross_dollar_sales\",\"scale\":998}}]}"
+ }
+ ]
+ }
+}
+```
+
+- Response Code: 200 (Success: OK)
+
+## Delete a pipeline
+
+Endpoint: [DELETE /api/dataServer/workspaces/\{workspaceId}/pipelines/\{pipelineId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Workspaces/deletePipeline)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: pgho7427r1e6p0tem7e677jivk'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+- Curl
+
+```bash
+curl -L -X DELETE 'https://demo.microstrategy.com/MicroStrategyLibrary/api/dataServer/workspaces/1230A03B66734BDE96236391F836AB43/pipelines/5EF18E2548AD40E89C41E574126A7758' \
+-H 'X-MSTR-AuthToken: 34jp6e0j4sahqd8ttedqe800ed' \
+-H 'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+Sample Response
+
+- Response Body: (empty)
+
+- Response Code: 204 (Success: No Content)
diff --git a/docs/common-workflows/mosaic/manage-workspace-pipelines/manage-workspace-pipelines.md b/docs/common-workflows/mosaic/manage-workspace-pipelines/manage-workspace-pipelines.md
new file mode 100644
index 00000000..ac1533ad
--- /dev/null
+++ b/docs/common-workflows/mosaic/manage-workspace-pipelines/manage-workspace-pipelines.md
@@ -0,0 +1,19 @@
+---
+title: Manage workspace pipelines
+description: You can use REST API requests to manage workspace pipelines.
+---
+
+
+
+:::tip
+
+You can try these workflows with [REST API Playground](https://www.postman.com/microstrategysdk/microstrategy-rest-api/collection/5aq5sem/strategy-rest-api-workflows).
+
+Learn more about Strategy REST API Playground [here](/docs/getting-started/playground.md).
+
+:::
+
+You can use REST API requests to manage workspace pipelines.
+
+- [Create, Retrieve, Update, and Delete a Pipeline](create-retrieve-update-and-delete-a-pipeline.md)
+- [Refresh a Pipeline](refresh-a-pipeline.md)
diff --git a/docs/common-workflows/mosaic/manage-workspace-pipelines/refresh-a-pipeline.md b/docs/common-workflows/mosaic/manage-workspace-pipelines/refresh-a-pipeline.md
new file mode 100644
index 00000000..4609decc
--- /dev/null
+++ b/docs/common-workflows/mosaic/manage-workspace-pipelines/refresh-a-pipeline.md
@@ -0,0 +1,163 @@
+---
+title: Refresh a pipeline
+description: This workflow demonstrates how to refresh a pipeline using REST API.
+---
+
+
+
+This workflow sample demonstrates how to refresh a pipeline using the REST API.
+
+:::info
+
+Get the authorization token needed to execute the request with [POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin).
+
+Get the project ID from [GET /api/projects](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Projects/getProjects_1).
+
+:::
+
+:::tip
+
+Changesets are used in this workflow. For information on how to create and use changesets, see [Changesets](/docs/common-workflows/modeling/changesets.md).
+
+:::
+
+If the table structure is updated in the import source, you can refresh the pipeline to update the table schema in the pipeline.
+
+Endpoint: [POST /api/dataServer/workspaces/\{workspaceId}/pipelines/\{pipelineId}/refresh](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Workspaces/refreshPipeline)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: pgho7427r1e6p0tem7e677jivk'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+- Curl
+
+```bash
+curl -L -X POST 'https://demo.microstrategy.com/MicroStrategyLibrary/api/dataServer/workspaces/9B1B1729F6564CBD8AEF8789A88065DD/pipelines/6E87A1A8B3854BBDA06FB7F84236A448/refresh' \
+-H 'X-MSTR-AuthToken: k74fgfb7d3sk20rld2b1ekv50u' \
+-H 'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "id": "6E87A1A8B3854BBDA06FB7F84236A448",
+ "rootTable": {
+ "id": "5239E93D5AB74DB5ABE162AA2FD19D02",
+ "type": "root",
+ "children": [
+ {
+ "id": "BA5C182DC15C4C00AA85A73EBB0C081A",
+ "name": "item_mnth_sls",
+ "type": "source",
+ "columns": [
+ {
+ "id": "CDD9AD8EA17E400A93759A3EAD7FA377",
+ "name": "item_id",
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ }
+ },
+ {
+ "id": "90A2E151F50A4C13A18D300CCEF64DCA",
+ "name": "month_id",
+ "dataType": {
+ "type": "integer",
+ "precision": 4,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "integer",
+ "precision": 4,
+ "scale": 0
+ }
+ },
+ {
+ "id": "F27737BAAF64414CA8B2B45F0FC3D949",
+ "name": "tot_dollar_sales",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "95BEB2D7E167480F8B0C258A494F5631",
+ "name": "tot_unit_sales",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "96B6744A5CAF40E7A70769182EEF019B",
+ "name": "tot_cost",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "9B538947DDFF4394829125558EB2D688",
+ "name": "gross_dollar_sales",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ }
+ ],
+ "importSource": {
+ "type": "single_table",
+ "dataSourceId": "E93B0C144F9EAF781E3993B5C439220D",
+ "namespace": "public",
+ "tableName": "item_mnth_sls",
+ "sql": "",
+ "filterString": ""
+ },
+ "originalSchema": "{\"type\":\"struct\",\"fields\":[{\"name\":\"item_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"precision\":5,\"dssType\":\"short\",\"name\":\"item_id\",\"scale\":0}},{\"name\":\"month_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"precision\":10,\"dssType\":\"integer\",\"name\":\"month_id\",\"scale\":0}},{\"name\":\"tot_dollar_sales\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"tot_dollar_sales\",\"scale\":998}},{\"name\":\"tot_unit_sales\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"tot_unit_sales\",\"scale\":998}},{\"name\":\"tot_cost\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"tot_cost\",\"scale\":998}},{\"name\":\"gross_dollar_sales\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"gross_dollar_sales\",\"scale\":998}}]}"
+ }
+ ]
+ }
+}
+```
+
+- Response Code: 200 (Success: OK)
diff --git a/docs/common-workflows/mosaic/manage-workspaces/create-retrieve-update-and-delete-a-workspace.md b/docs/common-workflows/mosaic/manage-workspaces/create-retrieve-update-and-delete-a-workspace.md
new file mode 100644
index 00000000..6ccfc9b2
--- /dev/null
+++ b/docs/common-workflows/mosaic/manage-workspaces/create-retrieve-update-and-delete-a-workspace.md
@@ -0,0 +1,201 @@
+---
+title: Create, retrieve, update, and delete a workspace
+description: This workflow demonstrates how to create, retrieve, update, and delete a workspace using REST API.
+---
+
+
+
+This workflow sample demonstrates how to create, retrieve, update, and delete a workspace using the REST API.
+
+:::info
+
+Get the authorization token needed to execute the request with [POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin).
+
+Get the project ID from [GET /api/projects](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Projects/getProjects_1).
+
+:::
+
+:::tip
+
+Changesets are used in this workflow. For information on how to create and use changesets, see [Changesets](/docs/common-workflows/modeling/changesets.md).
+
+:::
+
+Workspace is the place where you can create and manage your pipelines.
+
+## Create an empty workspace
+
+You can create an empty workspace with default settings. After you create the workspace, you can update it to add pipelines and other configurations.
+
+Endpoint: [POST /api/dataServer/workspaces](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Workspaces/postWorkspace)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: pgho7427r1e6p0tem7e677jivk'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+- Curl
+
+```bash
+curl -L 'https://demo.microstrategy.com/MicroStrategyLibrary/api/dataServer/workspaces' \
+-H 'X-MSTR-AuthToken: 1maet46058o01842068n55llko' \
+-H 'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754' \
+-H 'Content-Type: application/json' \
+-d '{}'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "id": "6E2C7441461F43D09B23B917E5EA6BBB",
+ "sampling": {
+ "type": "first",
+ "rowCount": 1000
+ },
+ "dateCreated": "2025-09-25T02:11:58.483310709Z",
+ "dateModified": "2025-09-25T02:11:58.483314791Z",
+ "datasetServeMode": "in_memory",
+ "dssHost": "",
+ "dssPort": 0,
+ "pipelines": []
+}
+```
+
+- Response Code: 201 (Success: Created)
+
+## Retrieve a workspace
+
+Endpoint: [GET /api/dataServer/workspaces/\{workspaceId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Workspaces/getWorkspace)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: pgho7427r1e6p0tem7e677jivk'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+- Curl
+
+```bash
+curl -L -X GET 'https://demo.microstrategy.com/MicroStrategyLibrary/api/dataServer/workspaces/6E2C7441461F43D09B23B917E5EA6BBB' \
+-H 'X-MSTR-AuthToken: 1maet46058o01842068n55llko' \
+-H 'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "id": "6E2C7441461F43D09B23B917E5EA6BBB",
+ "sampling": {
+ "type": "first",
+ "rowCount": 1000
+ },
+ "dateCreated": "2025-09-25T02:11:58.483310709Z",
+ "dateModified": "2025-09-25T02:12:03.002933925Z",
+ "datasetServeMode": "in_memory",
+ "dssHost": "",
+ "dssPort": 0,
+ "pipelines": []
+}
+```
+
+- Response Code: 200 (Success: OK)
+
+## Update a workspace
+
+Endpoint: [PATCH /api/dataServer/workspaces/\{workspaceId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Workspaces/patchWorkspace)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: pgho7427r1e6p0tem7e677jivk'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+- Curl
+
+```bash
+curl -L -X PATCH 'https://demo.microstrategy.com/MicroStrategyLibrary/api/dataServer/workspaces/6E2C7441461F43D09B23B917E5EA6BBB' \
+-H 'X-MSTR-AuthToken: 1maet46058o01842068n55llko' \
+-H 'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754' \
+-H 'Content-Type: application/json' \
+-d '{
+ "name": "updated workspace",
+ "sampling": {
+ "type": "random",
+ "rowCount": 2000
+ }
+}'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "id": "6E2C7441461F43D09B23B917E5EA6BBB",
+ "name": "updated workspace",
+ "sampling": {
+ "type": "random",
+ "rowCount": 2000
+ },
+ "dateCreated": "2025-09-25T02:11:58.483310709Z",
+ "dateModified": "2025-09-25T02:12:36.456595572Z",
+ "datasetServeMode": "in_memory",
+ "dssHost": "",
+ "dssPort": 0,
+ "pipelines": []
+}
+```
+
+- Response Code: 200 (Success: OK)
+
+## Delete a workspace
+
+Endpoint: [DELETE /api/dataServer/workspaces/\{workspaceId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Workspaces/deleteWorkspace)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: pgho7427r1e6p0tem7e677jivk'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+- Curl
+
+```bash
+curl -L -X DELETE 'https://demo.microstrategy.com/MicroStrategyLibrary/api/dataServer/workspaces/6E2C7441461F43D09B23B917E5EA6BBB' \
+-H 'X-MSTR-AuthToken: 1maet46058o01842068n55llko' \
+-H 'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+Sample Response
+
+- Response Body: (empty)
+
+- Response Code: 204 (Success: No Content)
diff --git a/docs/common-workflows/mosaic/manage-workspaces/manage-workspaces.md b/docs/common-workflows/mosaic/manage-workspaces/manage-workspaces.md
new file mode 100644
index 00000000..8fd3315b
--- /dev/null
+++ b/docs/common-workflows/mosaic/manage-workspaces/manage-workspaces.md
@@ -0,0 +1,19 @@
+---
+title: Manage workspaces
+description: You can use REST API requests to manage workspaces.
+---
+
+
+
+:::tip
+
+You can try these workflows with [REST API Playground](https://www.postman.com/microstrategysdk/microstrategy-rest-api/collection/5aq5sem/strategy-rest-api-workflows).
+
+Learn more about Strategy REST API Playground [here](/docs/getting-started/playground.md).
+
+:::
+
+You can use REST API requests to manage workspaces.
+
+- [Create, Retrieve, Update, and Delete a Workspace](create-retrieve-update-and-delete-a-workspace.md)
+- [Restore a Workspace](restore-a-workspace.md)
diff --git a/docs/common-workflows/mosaic/manage-workspaces/restore-a-workspace.md b/docs/common-workflows/mosaic/manage-workspaces/restore-a-workspace.md
new file mode 100644
index 00000000..090da846
--- /dev/null
+++ b/docs/common-workflows/mosaic/manage-workspaces/restore-a-workspace.md
@@ -0,0 +1,756 @@
+---
+title: Restore a workspace
+description: This workflow demonstrates how to restore a workspace using REST API.
+---
+
+
+
+This workflow sample demonstrates how to restore a workspace using the REST API.
+
+:::info
+
+Get the authorization token needed to execute the request with [POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin).
+
+Get the project ID from [GET /api/projects](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Projects/getProjects_1).
+
+:::
+
+:::tip
+
+Changesets are used in this workflow. For information on how to create and use changesets, see [Changesets](/docs/common-workflows/modeling/changesets.md).
+
+:::
+
+You can restore an existing workspace by specifying the full definition of the pipelines in the workspace request body and you can update it, as needed.
+
+Endpoint: [POST /api/dataServer/workspaces](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Workspaces/postWorkspace)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: pgho7427r1e6p0tem7e677jivk'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+- Curl
+
+```bash
+curl -L 'https://demo.microstrategy.com/MicroStrategyLibrary/api/dataServer/workspaces' \
+-H 'X-MSTR-AuthToken: 1maet46058o01842068n55llko' \
+-H 'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754' \
+-H 'Content-Type: application/json' \
+-d '{
+ "pipelines": [
+ {
+ "id": "658E7AF4CA4D4DA1A9664B2474513EB0",
+ "rootTable": {
+ "id": "D2D02127E4E547B6A7B6679E7B68FD7C",
+ "type": "root",
+ "children": [
+ {
+ "columns": [
+ {
+ "id": "D2E036E4D3904D948EBF117288A56F20",
+ "name": "day_date",
+ "dataType": {
+ "type": "time_stamp",
+ "precision": 26,
+ "scale": 6
+ },
+ "sourceDataType": {
+ "type": "time_stamp",
+ "precision": 26,
+ "scale": 6
+ }
+ },
+ {
+ "id": "070105D731E340FCACB7935970EE095A",
+ "name": "call_ctr_id",
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ }
+ },
+ {
+ "id": "5F661515367E47E7B0B3F286825A82B8",
+ "name": "tot_dollar_sales",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "A21841BAF27B40099873E901F42C2230",
+ "name": "tot_unit_sales",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "F347450D180B4C058AAD7D9BDAD4EF7C",
+ "name": "tot_cost",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "E5D4E7C3F4F149538D948C6F3D1A9EA2",
+ "name": "gross_dollar_sales",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "F3214AB149974F259E6D40FE0CE98260",
+ "name": "gross_dollar_sales_1",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 0,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 0,
+ "scale": 0
+ }
+ }
+ ],
+ "id": "47F24D9FF0BC4A10B6BBE631B2D13AC9",
+ "name": "day_ctr_sls",
+ "type": "wrangle",
+ "operations": [
+ {
+ "id": "eb032e75fe00413caa9613bb72c9dcd4",
+ "op": "mergeColumns",
+ "category": "merge",
+ "source": "manual",
+ "description": "Merge columns to [gross_dollar_sales]",
+ "analyzed": true,
+ "newColumnName": "gross_dollar_sales_1",
+ "newColumnId": "F3214AB149974F259E6D40FE0CE98260",
+ "columnNames": [
+ "gross_dollar_sales",
+ "call_ctr_id"
+ ],
+ "glue": " "
+ }
+ ],
+ "children": [
+ {
+ "columns": [
+ {
+ "id": "D2E036E4D3904D948EBF117288A56F20",
+ "name": "day_date",
+ "dataType": {
+ "type": "time_stamp",
+ "precision": 26,
+ "scale": 6
+ },
+ "sourceDataType": {
+ "type": "time_stamp",
+ "precision": 26,
+ "scale": 6
+ }
+ },
+ {
+ "id": "070105D731E340FCACB7935970EE095A",
+ "name": "call_ctr_id",
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ }
+ },
+ {
+ "id": "5F661515367E47E7B0B3F286825A82B8",
+ "name": "tot_dollar_sales",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "A21841BAF27B40099873E901F42C2230",
+ "name": "tot_unit_sales",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "F347450D180B4C058AAD7D9BDAD4EF7C",
+ "name": "tot_cost",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "E5D4E7C3F4F149538D948C6F3D1A9EA2",
+ "name": "gross_dollar_sales",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ }
+ ],
+ "importSource": {
+ "type": "single_table",
+ "dataSourceId": "E93B0C144F9EAF781E3993B5C439220D",
+ "namespace": "public",
+ "tableName": "day_ctr_sls",
+ "sql": ""
+ },
+ "originalSchema": "{\"type\":\"struct\",\"fields\":[{\"name\":\"day_date\",\"type\":\"timestamp\",\"nullable\":true,\"metadata\":{\"precision\":26,\"dssType\":\"time_stamp\",\"name\":\"day_date\",\"scale\":6}},{\"name\":\"call_ctr_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"precision\":5,\"dssType\":\"short\",\"name\":\"call_ctr_id\",\"scale\":0}},{\"name\":\"tot_dollar_sales\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"tot_dollar_sales\",\"scale\":998}},{\"name\":\"tot_unit_sales\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"tot_unit_sales\",\"scale\":998}},{\"name\":\"tot_cost\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"tot_cost\",\"scale\":998}},{\"name\":\"gross_dollar_sales\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"gross_dollar_sales\",\"scale\":998}}]}",
+ "id": "1676439C8B2D4784B29B2C0FA488AAA0",
+ "name": "day_ctr_sls",
+ "type": "source"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "id": "A45CFC1C2004425CB2F6138E2E6A7575",
+ "rootTable": {
+ "id": "5239E93D5AB74DB5ABE162AA2FD19D02",
+ "type": "root",
+ "children": [
+ {
+ "columns": [
+ {
+ "id": "CDD9AD8EA17E400A93759A3EAD7FA377",
+ "name": "item_id",
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ }
+ },
+ {
+ "id": "90A2E151F50A4C13A18D300CCEF64DCA",
+ "name": "month_id",
+ "dataType": {
+ "type": "integer",
+ "precision": 4,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "integer",
+ "precision": 4,
+ "scale": 0
+ }
+ },
+ {
+ "id": "F27737BAAF64414CA8B2B45F0FC3D949",
+ "name": "tot_dollar_sales",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "95BEB2D7E167480F8B0C258A494F5631",
+ "name": "tot_unit_sales",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "96B6744A5CAF40E7A70769182EEF019B",
+ "name": "tot_cost",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "9B538947DDFF4394829125558EB2D688",
+ "name": "gross_dollar_sales",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ }
+ ],
+ "importSource": {
+ "type": "single_table",
+ "dataSourceId": "E93B0C144F9EAF781E3993B5C439220D",
+ "namespace": "public",
+ "tableName": "item_mnth_sls",
+ "sql": ""
+ },
+ "originalSchema": "{\"type\":\"struct\",\"fields\":[{\"name\":\"item_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"precision\":5,\"dssType\":\"short\",\"name\":\"item_id\",\"scale\":0}},{\"name\":\"month_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"precision\":10,\"dssType\":\"integer\",\"name\":\"month_id\",\"scale\":0}},{\"name\":\"tot_dollar_sales\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"tot_dollar_sales\",\"scale\":998}},{\"name\":\"tot_unit_sales\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"tot_unit_sales\",\"scale\":998}},{\"name\":\"tot_cost\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"tot_cost\",\"scale\":998}},{\"name\":\"gross_dollar_sales\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"gross_dollar_sales\",\"scale\":998}}]}",
+ "id": "BA5C182DC15C4C00AA85A73EBB0C081A",
+ "name": "item_mnth_sls",
+ "type": "source"
+ }
+ ]
+ }
+ }
+ ],
+ "sampling": {
+ "type": "first",
+ "rowCount": 1000
+ }
+}'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "id": "0C7271FE77164069B771D864BC752C6E",
+ "sampling": {
+ "type": "first",
+ "rowCount": 1000
+ },
+ "dateCreated": "2025-09-25T02:39:14.487691972Z",
+ "dateModified": "2025-09-25T02:39:14.487703664Z",
+ "datasetServeMode": "in_memory",
+ "dssHost": "",
+ "dssPort": 0,
+ "pipelines": [
+ {
+ "id": "A45CFC1C2004425CB2F6138E2E6A7575",
+ "rootTable": {
+ "id": "5239E93D5AB74DB5ABE162AA2FD19D02",
+ "type": "root",
+ "children": [
+ {
+ "id": "BA5C182DC15C4C00AA85A73EBB0C081A",
+ "name": "item_mnth_sls",
+ "type": "source",
+ "columns": [
+ {
+ "id": "CDD9AD8EA17E400A93759A3EAD7FA377",
+ "name": "item_id",
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ }
+ },
+ {
+ "id": "90A2E151F50A4C13A18D300CCEF64DCA",
+ "name": "month_id",
+ "dataType": {
+ "type": "integer",
+ "precision": 4,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "integer",
+ "precision": 4,
+ "scale": 0
+ }
+ },
+ {
+ "id": "F27737BAAF64414CA8B2B45F0FC3D949",
+ "name": "tot_dollar_sales",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "95BEB2D7E167480F8B0C258A494F5631",
+ "name": "tot_unit_sales",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "96B6744A5CAF40E7A70769182EEF019B",
+ "name": "tot_cost",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "9B538947DDFF4394829125558EB2D688",
+ "name": "gross_dollar_sales",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ }
+ ],
+ "importSource": {
+ "type": "single_table",
+ "dataSourceId": "E93B0C144F9EAF781E3993B5C439220D",
+ "namespace": "public",
+ "tableName": "item_mnth_sls",
+ "sql": "",
+ "filterString": ""
+ },
+ "originalSchema": "{\"type\":\"struct\",\"fields\":[{\"name\":\"item_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"precision\":5,\"dssType\":\"short\",\"name\":\"item_id\",\"scale\":0}},{\"name\":\"month_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"precision\":10,\"dssType\":\"integer\",\"name\":\"month_id\",\"scale\":0}},{\"name\":\"tot_dollar_sales\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"tot_dollar_sales\",\"scale\":998}},{\"name\":\"tot_unit_sales\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"tot_unit_sales\",\"scale\":998}},{\"name\":\"tot_cost\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"tot_cost\",\"scale\":998}},{\"name\":\"gross_dollar_sales\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"gross_dollar_sales\",\"scale\":998}}]}"
+ }
+ ]
+ }
+ },
+ {
+ "id": "658E7AF4CA4D4DA1A9664B2474513EB0",
+ "rootTable": {
+ "id": "D2D02127E4E547B6A7B6679E7B68FD7C",
+ "type": "root",
+ "children": [
+ {
+ "id": "47F24D9FF0BC4A10B6BBE631B2D13AC9",
+ "name": "day_ctr_sls",
+ "type": "wrangle",
+ "columns": [
+ {
+ "id": "D2E036E4D3904D948EBF117288A56F20",
+ "name": "day_date",
+ "dataType": {
+ "type": "time_stamp",
+ "precision": 26,
+ "scale": 6
+ },
+ "sourceDataType": {
+ "type": "time_stamp",
+ "precision": 26,
+ "scale": 6
+ }
+ },
+ {
+ "id": "070105D731E340FCACB7935970EE095A",
+ "name": "call_ctr_id",
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ }
+ },
+ {
+ "id": "5F661515367E47E7B0B3F286825A82B8",
+ "name": "tot_dollar_sales",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "A21841BAF27B40099873E901F42C2230",
+ "name": "tot_unit_sales",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "F347450D180B4C058AAD7D9BDAD4EF7C",
+ "name": "tot_cost",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "E5D4E7C3F4F149538D948C6F3D1A9EA2",
+ "name": "gross_dollar_sales",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "F3214AB149974F259E6D40FE0CE98260",
+ "name": "gross_dollar_sales_1",
+ "dataType": {
+ "type": "utf8_char",
+ "precision": 0,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "utf8_char",
+ "precision": 0,
+ "scale": 0
+ }
+ }
+ ],
+ "operations": [
+ {
+ "id": "eb032e75fe00413caa9613bb72c9dcd4",
+ "op": "mergeColumns",
+ "category": "merge",
+ "source": "manual",
+ "description": "Merge columns to [gross_dollar_sales]",
+ "analyzed": true,
+ "newColumnName": "gross_dollar_sales_1",
+ "newColumnId": "F3214AB149974F259E6D40FE0CE98260",
+ "columnNames": ["gross_dollar_sales", "call_ctr_id"],
+ "glue": " "
+ }
+ ],
+ "children": [
+ {
+ "id": "1676439C8B2D4784B29B2C0FA488AAA0",
+ "name": "day_ctr_sls",
+ "type": "source",
+ "columns": [
+ {
+ "id": "D2E036E4D3904D948EBF117288A56F20",
+ "name": "day_date",
+ "dataType": {
+ "type": "time_stamp",
+ "precision": 26,
+ "scale": 6
+ },
+ "sourceDataType": {
+ "type": "time_stamp",
+ "precision": 26,
+ "scale": 6
+ }
+ },
+ {
+ "id": "070105D731E340FCACB7935970EE095A",
+ "name": "call_ctr_id",
+ "dataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ },
+ "sourceDataType": {
+ "type": "integer",
+ "precision": 2,
+ "scale": 0
+ }
+ },
+ {
+ "id": "5F661515367E47E7B0B3F286825A82B8",
+ "name": "tot_dollar_sales",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "A21841BAF27B40099873E901F42C2230",
+ "name": "tot_unit_sales",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "F347450D180B4C058AAD7D9BDAD4EF7C",
+ "name": "tot_cost",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ },
+ {
+ "id": "E5D4E7C3F4F149538D948C6F3D1A9EA2",
+ "name": "gross_dollar_sales",
+ "dataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ },
+ "sourceDataType": {
+ "type": "double",
+ "precision": 1000,
+ "scale": 998
+ }
+ }
+ ],
+ "importSource": {
+ "type": "single_table",
+ "dataSourceId": "E93B0C144F9EAF781E3993B5C439220D",
+ "namespace": "public",
+ "tableName": "day_ctr_sls",
+ "sql": "",
+ "filterString": ""
+ },
+ "originalSchema": "{\"type\":\"struct\",\"fields\":[{\"name\":\"day_date\",\"type\":\"timestamp\",\"nullable\":true,\"metadata\":{\"precision\":26,\"dssType\":\"time_stamp\",\"name\":\"day_date\",\"scale\":6}},{\"name\":\"call_ctr_id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{\"precision\":5,\"dssType\":\"short\",\"name\":\"call_ctr_id\",\"scale\":0}},{\"name\":\"tot_dollar_sales\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"tot_dollar_sales\",\"scale\":998}},{\"name\":\"tot_unit_sales\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"tot_unit_sales\",\"scale\":998}},{\"name\":\"tot_cost\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"tot_cost\",\"scale\":998}},{\"name\":\"gross_dollar_sales\",\"type\":\"double\",\"nullable\":true,\"metadata\":{\"precision\":1000,\"dssType\":\"double\",\"name\":\"gross_dollar_sales\",\"scale\":998}}]}"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+}
+```
+
+- Response Code: 201 (Success: Created)
diff --git a/docs/common-workflows/mosaic/retrieve-data-from-data-models/retrieve-data-from-data-models.md b/docs/common-workflows/mosaic/retrieve-data-from-data-models/retrieve-data-from-data-models.md
new file mode 100644
index 00000000..226f4d80
--- /dev/null
+++ b/docs/common-workflows/mosaic/retrieve-data-from-data-models/retrieve-data-from-data-models.md
@@ -0,0 +1,19 @@
+---
+title: Retrieve data from data models
+description: You can use REST API requests to retrieve data from data models.
+---
+
+
+
+:::tip
+
+You can try these workflows with [REST API Playground](https://www.postman.com/microstrategysdk/microstrategy-rest-api/collection/5aq5sem/strategy-rest-api-workflows).
+
+Learn more about Strategy REST API Playground [here](/docs/getting-started/playground.md).
+
+:::
+
+Data model is a special kind of cube. You can use some cube APIs to interact with data models. The following workflows demonstrate how to retrieve data from data models using cube APIs.
+
+- [Retrieve Data through Cube Instance](retrieve-data-through-cube-instance.md)
+- [Retrieve Data Model SQL View](retrieve-data-model-sql-view.md)
diff --git a/docs/common-workflows/mosaic/retrieve-data-from-data-models/retrieve-data-model-sql-view.md b/docs/common-workflows/mosaic/retrieve-data-from-data-models/retrieve-data-model-sql-view.md
new file mode 100644
index 00000000..53a4153b
--- /dev/null
+++ b/docs/common-workflows/mosaic/retrieve-data-from-data-models/retrieve-data-model-sql-view.md
@@ -0,0 +1,49 @@
+---
+title: Retrieve the data model SQL view
+description: This workflow demonstrates how to retrieve the data model SQL view.
+---
+
+
+
+:::info
+
+Get the authorization token needed to execute the request with [POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin).
+
+Get the project ID from [GET /api/projects](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Projects/getProjects_1).
+
+:::
+
+This workflow sample demonstrates how to retrieve the data model SQL view using the REST API.
+
+Endpoint: [GET /api/v2/cubes/\{dataModelId}/sqlView](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html?visibility=all#/Cubes/getCubeSqlView)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: nllmm5lpmkjdsj4d4etgdikc6c'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+- Curl
+
+```bash
+curl --location 'https://demo.microstrategy.com/MicroStrategyLibrary/api/v2/cubes/CDCB6AB0A14E466FA66B571B8B0CDB38/sqlView' \
+--header 'X-MSTR-AuthToken: l0abia567pgqfuk8fbg5f0ao25' \
+--header 'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "sqlStatement": "[DB Instance: xilin1713246093]\n\nselect\t\"abc\".\"ELM_ID\" AS \"ELM_ID\",\n\t\"abc\".\"ELM_NAME\" AS \"ELM_NAME\",\n\t\"abc\".\"F_ID\" AS \"F_ID\",\n\t\"abc\".\"F_NAME\" AS \"F_NAME\",\n\t\"abc\".\"test\" AS \"test\",\n\t\"abc\".\"test2\" AS \"test2\"\nfrom\t\"public\".\"abc\"\t AS \"abc\"\n\n[DB Instance: Connection to Strategy Data Server]\nselect\t`a11`.`test` `test`,\n\t`a11`.`test2` `test2`,\n\t`a11`.`ELM_ID` `ELM_ID`,\n\t`a11`.`ELM_NAME` `ELM_NAME`,\n\t`a11`.`F_ID` `F_ID`,\n\t`a11`.`F_NAME` `F_NAME`\nfrom\t`##spark_table_name_placeholder##`\t`a11`\n\n[DB Instance: Connection to Strategy Data Server]\n[Analytical engine calculation steps:\n]\n"
+}
+```
+
+- Response Code: 200 (Success: OK)
diff --git a/docs/common-workflows/mosaic/retrieve-data-from-data-models/retrieve-data-through-cube-instance.md b/docs/common-workflows/mosaic/retrieve-data-from-data-models/retrieve-data-through-cube-instance.md
new file mode 100644
index 00000000..c0136ace
--- /dev/null
+++ b/docs/common-workflows/mosaic/retrieve-data-from-data-models/retrieve-data-through-cube-instance.md
@@ -0,0 +1,369 @@
+---
+title: Retrieve data through cube instance
+description: This workflow demonstrates how to retrieve data for a data model through cube instance using REST API.
+---
+
+
+
+:::info
+
+Get the authorization token needed to execute the request with [POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin).
+
+Get the project ID from [GET /api/projects](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Projects/getProjects_1).
+
+:::
+
+This workflow sample demonstrates how to retrieve data for a data model through cube instance using REST API.
+
+## Create cube instance
+
+You can view a data model definition and data by creating a cube instance.
+
+Endpoint: [POST /api/v2/cubes/\{dataModelId}/instances](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html?visibility=all#/Cubes/createCubeInstance_1)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: pgho7427r1e6p0tem7e677jivk'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+- Curl
+
+```bash
+curl --location --request POST 'https://demo.microstrategy.com/MicroStrategyLibrary/api/v2/cubes/CDCB6AB0A14E466FA66B571B8B0CDB38/instances' \
+--header 'X-MSTR-AuthToken: l0abia567pgqfuk8fbg5f0ao25' \
+--header 'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754' \
+--data ''
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "id": "CDCB6AB0A14E466FA66B571B8B0CDB38",
+ "name": "Cube test",
+ "instanceId": "E001994BA149913037C78AA658F25C3A",
+ "status": 1,
+ "definition": {
+ "grid": {
+ "crossTab": false,
+ "rows": [
+ {
+ "name": "Element",
+ "id": "FC056DBB3CB84644904B9DAD8F3503CE",
+ "type": "attribute",
+ "forms": [
+ {
+ "id": "5DE92B254C50449C9C1C7938037B1C27",
+ "name": "Element Name",
+ "dataType": "UTF8Char",
+ "baseFormCategory": "Element None",
+ "baseFormType": "text"
+ }
+ ],
+ "elements": [
+ {
+ "formValues": [""],
+ "id": "h\\N;FC056DBB3CB84644904B9DAD8F3503CE"
+ }
+ ]
+ },
+ {
+ "name": "Factor",
+ "id": "9BB50F2B28E0447A9D3D0AF0B0816A40",
+ "type": "attribute",
+ "forms": [
+ {
+ "id": "7B70212B752A4D0E9D611BE240B8D45E",
+ "name": "Factor Name",
+ "dataType": "UTF8Char",
+ "baseFormCategory": "Factor None",
+ "baseFormType": "text"
+ }
+ ],
+ "elements": [
+ {
+ "formValues": ["< 25"],
+ "id": "h2;9BB50F2B28E0447A9D3D0AF0B0816A40"
+ },
+ {
+ "formValues": ["25-35"],
+ "id": "h5;9BB50F2B28E0447A9D3D0AF0B0816A40"
+ },
+ {
+ "formValues": ["36-50"],
+ "id": "h9;9BB50F2B28E0447A9D3D0AF0B0816A40"
+ },
+ {
+ "formValues": ["51-60"],
+ "id": "h13;9BB50F2B28E0447A9D3D0AF0B0816A40"
+ },
+ {
+ "formValues": ["> 60"],
+ "id": "h17;9BB50F2B28E0447A9D3D0AF0B0816A40"
+ }
+ ]
+ },
+ {
+ "name": "Test",
+ "id": "B6E2B07729A24271B9FDDD544C59DDAD",
+ "type": "attribute",
+ "forms": [
+ {
+ "id": "45C11FA478E745FEA08D781CEA190FE5",
+ "name": "Test",
+ "dataType": "integer",
+ "baseFormCategory": "ID",
+ "baseFormType": "number"
+ }
+ ],
+ "elements": [
+ {
+ "formValues": [""],
+ "id": "h\\N;B6E2B07729A24271B9FDDD544C59DDAD"
+ }
+ ]
+ },
+ {
+ "name": "Test 2",
+ "id": "2090B0424B6E425199D94F533F15E240",
+ "type": "attribute",
+ "forms": [
+ {
+ "id": "45C11FA478E745FEA08D781CEA190FE5",
+ "name": "Test 2",
+ "dataType": "UTF8Char",
+ "baseFormCategory": "ID",
+ "baseFormType": "text"
+ }
+ ],
+ "elements": [
+ {
+ "formValues": [""],
+ "id": "h\\N;2090B0424B6E425199D94F533F15E240"
+ }
+ ]
+ }
+ ],
+ "columns": [],
+ "pageBy": [],
+ "sorting": {
+ "rows": [],
+ "columns": [],
+ "pageBy": []
+ },
+ "thresholds": []
+ }
+ },
+ "data": {
+ "currentPageBy": [],
+ "paging": {
+ "total": 5,
+ "current": 5,
+ "offset": 0,
+ "limit": 1000
+ },
+ "headers": {
+ "rows": [
+ [0, 0, 0, 0],
+ [0, 1, 0, 0],
+ [0, 2, 0, 0],
+ [0, 3, 0, 0],
+ [0, 4, 0, 0]
+ ],
+ "columns": []
+ },
+ "metricValues": {
+ "raw": [],
+ "formatted": [],
+ "extras": []
+ }
+ },
+ "promptOrdering": []
+}
+```
+
+- Response Code: 200 (Success: OK)
+
+## Get cube instance
+
+You can view a data model definition and data using the cube instance you created in the previous step.
+
+Endpoint: [GET /api/v2/cubes/\{dataModelId}/instances/\{instanceId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html?visibility=all#/Cubes/getReport_1)
+
+Sample Request
+
+- Request Headers
+
+```http
+'Content-Type: application/json'
+'Accept: application/json'
+'X-MSTR-AuthToken: pgho7427r1e6p0tem7e677jivk'
+'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+- Curl
+
+```bash
+curl --location 'https://demo.microstrategy.com/MicroStrategyLibrary/api/v2/cubes/CDCB6AB0A14E466FA66B571B8B0CDB38/instances/E001994BA149913037C78AA658F25C3A' \
+--header 'X-MSTR-AuthToken: l0abia567pgqfuk8fbg5f0ao25' \
+--header 'X-MSTR-ProjectID: B7CA92F04B9FAE8D941C3E9B7E0CD754'
+```
+
+Sample Response
+
+- Response Body:
+
+```json
+{
+ "id": "CDCB6AB0A14E466FA66B571B8B0CDB38",
+ "name": "Cube test",
+ "instanceId": "E001994BA149913037C78AA658F25C3A",
+ "status": 1,
+ "definition": {
+ "grid": {
+ "crossTab": false,
+ "rows": [
+ {
+ "name": "Element",
+ "id": "FC056DBB3CB84644904B9DAD8F3503CE",
+ "type": "attribute",
+ "forms": [
+ {
+ "id": "5DE92B254C50449C9C1C7938037B1C27",
+ "name": "Element Name",
+ "dataType": "UTF8Char",
+ "baseFormCategory": "Element None",
+ "baseFormType": "text"
+ }
+ ],
+ "elements": [
+ {
+ "formValues": [""],
+ "id": "h\\N;FC056DBB3CB84644904B9DAD8F3503CE"
+ }
+ ]
+ },
+ {
+ "name": "Factor",
+ "id": "9BB50F2B28E0447A9D3D0AF0B0816A40",
+ "type": "attribute",
+ "forms": [
+ {
+ "id": "7B70212B752A4D0E9D611BE240B8D45E",
+ "name": "Factor Name",
+ "dataType": "UTF8Char",
+ "baseFormCategory": "Factor None",
+ "baseFormType": "text"
+ }
+ ],
+ "elements": [
+ {
+ "formValues": ["< 25"],
+ "id": "h2;9BB50F2B28E0447A9D3D0AF0B0816A40"
+ },
+ {
+ "formValues": ["25-35"],
+ "id": "h5;9BB50F2B28E0447A9D3D0AF0B0816A40"
+ },
+ {
+ "formValues": ["36-50"],
+ "id": "h9;9BB50F2B28E0447A9D3D0AF0B0816A40"
+ },
+ {
+ "formValues": ["51-60"],
+ "id": "h13;9BB50F2B28E0447A9D3D0AF0B0816A40"
+ },
+ {
+ "formValues": ["> 60"],
+ "id": "h17;9BB50F2B28E0447A9D3D0AF0B0816A40"
+ }
+ ]
+ },
+ {
+ "name": "Test",
+ "id": "B6E2B07729A24271B9FDDD544C59DDAD",
+ "type": "attribute",
+ "forms": [
+ {
+ "id": "45C11FA478E745FEA08D781CEA190FE5",
+ "name": "Test",
+ "dataType": "integer",
+ "baseFormCategory": "ID",
+ "baseFormType": "number"
+ }
+ ],
+ "elements": [
+ {
+ "formValues": [""],
+ "id": "h\\N;B6E2B07729A24271B9FDDD544C59DDAD"
+ }
+ ]
+ },
+ {
+ "name": "Test 2",
+ "id": "2090B0424B6E425199D94F533F15E240",
+ "type": "attribute",
+ "forms": [
+ {
+ "id": "45C11FA478E745FEA08D781CEA190FE5",
+ "name": "Test 2",
+ "dataType": "UTF8Char",
+ "baseFormCategory": "ID",
+ "baseFormType": "text"
+ }
+ ],
+ "elements": [
+ {
+ "formValues": [""],
+ "id": "h\\N;2090B0424B6E425199D94F533F15E240"
+ }
+ ]
+ }
+ ],
+ "columns": [],
+ "pageBy": [],
+ "sorting": {
+ "rows": [],
+ "columns": [],
+ "pageBy": []
+ },
+ "thresholds": []
+ }
+ },
+ "data": {
+ "currentPageBy": [],
+ "paging": {
+ "total": 5,
+ "current": 5,
+ "offset": 0,
+ "limit": 1000
+ },
+ "headers": {
+ "rows": [
+ [0, 0, 0, 0],
+ [0, 1, 0, 0],
+ [0, 2, 0, 0],
+ [0, 3, 0, 0],
+ [0, 4, 0, 0]
+ ],
+ "columns": []
+ },
+ "metricValues": {
+ "raw": [],
+ "formatted": [],
+ "extras": []
+ }
+ },
+ "promptOrdering": []
+}
+```
+
+- Response Code: 200 (Success: OK)
diff --git a/docs/whats-new.md b/docs/whats-new.md
index 8993ef27..b09ba20c 100644
--- a/docs/whats-new.md
+++ b/docs/whats-new.md
@@ -4,6 +4,42 @@ sidebar_label: What's new
Description: What's New in the REST API.
---
+## Strategy ONE (December 2025)
+
+- [Retrieve Data through Cube Instance](common-workflows/mosaic/retrieve-data-from-data-models/retrieve-data-through-cube-instance.md)
+- [Retrieve Data Model SQL View](common-workflows/mosaic/retrieve-data-from-data-models/retrieve-data-model-sql-view.md)
+
+## Strategy ONE (November 2025)
+
+- [Retrieve all the Relationships in the System Hierarchy](common-workflows/modeling/manage-system-hierarchy/retrieve-all-the-relationships-in-the-system-hierarchy.md).
+- [Manage scope filter objects](common-workflows/modeling/manage-scope-filter-objects/manage-scope-filter-objects.md).
+
+## Strategy ONE (October 2025)
+
+- [Create and Update a Data Model](common-workflows/mosaic/manage-data-models/create-and-update-a-data-model.md).
+- [Create, Update, and Delete a Folder](common-workflows/mosaic/manage-data-model-folders/create-update-and-delete-a-folder.md).
+- [Create, Update, and Delete a Table](common-workflows/mosaic/manage-data-model-tables/create-update-and-delete-a-table.md).
+- [Create a Data Model Attribute](common-workflows/mosaic/manage-data-model-attributes/create-a-data-model-attribute.md).
+- [Update a Data Model Attribute](common-workflows/mosaic/manage-data-model-attributes/update-a-data-model-attribute.md).
+- [Delete a Data Model Attribute](common-workflows/mosaic/manage-data-model-attributes/delete-a-data-model-attribute.md).
+- [Update a Data Model Attribute's Relationships](common-workflows/mosaic/manage-data-model-attributes/update-a-data-model-attributes-relationships.md).
+- [Create a Data Model Base Metric](common-workflows/mosaic/manage-data-model-base-metrics/create-a-data-model-base-metric.md).
+- [Update a Data Model Base Metric](common-workflows/mosaic/manage-data-model-base-metrics/update-a-data-model-base-metric.md).
+- [Delete a Data Model Base Metric](common-workflows/mosaic/manage-data-model-base-metrics/delete-a-data-model-base-metric.md).
+- [Create and Update Smart Attributes](common-workflows/mosaic/manage-data-model-attributes/create-and-update-smart-attributes.md).
+- [Create, Update, and Delete a Metric](common-workflows/mosaic/manage-data-model-metrics/create-update-and-delete-a-metric.md).
+- [Create and Update a Metric Embedded Object](common-workflows/mosaic/manage-data-model-metrics/create-and-update-a-metric-embedded-object.md).
+- [Create, Retrieve, Update, and Delete a Workspace](common-workflows/mosaic/manage-workspaces/create-retrieve-update-and-delete-a-workspace.md).
+- [Restore a Workspace](common-workflows/mosaic/manage-workspaces/restore-a-workspace.md).
+- [Create, Retrieve, Update, and Delete a Pipeline](common-workflows/mosaic/manage-workspace-pipelines/create-retrieve-update-and-delete-a-pipeline.md).
+- [Refresh a Pipeline](common-workflows/mosaic/manage-workspace-pipelines/refresh-a-pipeline.md).
+- [Create, Retrieve, Update, and Delete a Source Table](common-workflows/mosaic/manage-workspace-pipeline-tables/create-retrieve-update-and-delete-a-source-table.md).
+- [Create, Retrieve, Update, and Delete a Wrangle table](common-workflows/mosaic/manage-workspace-pipeline-tables/create-retrieve-update-and-delete-a-wrangle-table.md).
+- [Get object translations in a Data Model](common-workflows/mosaic/manage-data-model-object-translations/retrieve-a-data-model-object-translations.md).
+- [Update object translations in a Data Model](common-workflows/mosaic/manage-data-model-object-translations/update-a-data-model-object-translations.md).
+- [Create a Data Model from Scratch](common-workflows/mosaic/end-to-end/create-a-data-model-from-scratch.md).
+- [Edit an Existing Data Model](common-workflows/mosaic/end-to-end/edit-an-existing-data-model.md).
+
## Strategy ONE (September 2025)
- [Retrieve a Data Model](common-workflows/mosaic/manage-data-models/retrieve-a-data-model.md).
diff --git a/sidebars.js b/sidebars.js
index 71198244..8e8d22b2 100644
--- a/sidebars.js
+++ b/sidebars.js
@@ -787,6 +787,31 @@ const sidebars = {
"common-workflows/modeling/manage-user-hierarchy-objects/user-hierarchy-import-parameters",
],
},
+ {
+ type: "category",
+ link: {
+ type: "doc",
+ id: "common-workflows/modeling/manage-system-hierarchy/manage-system-hierarchy",
+ },
+ label: "Manage system hierarchy",
+ items: [
+ "common-workflows/modeling/manage-system-hierarchy/retrieve-all-the-relationships-in-the-system-hierarchy",
+ ],
+ },
+ {
+ type: "category",
+ link: {
+ type: "doc",
+ id: "common-workflows/modeling/manage-scope-filter-objects/manage-scope-filter-objects",
+ },
+ label: "Manage scope filter objects",
+ items: [
+ "common-workflows/modeling/manage-scope-filter-objects/retrieve-a-scope-filter-definition",
+ "common-workflows/modeling/manage-scope-filter-objects/retrieve-a-scope-filter-definition-within-a-changeset",
+ "common-workflows/modeling/manage-scope-filter-objects/create-a-scope-filter-object",
+ "common-workflows/modeling/manage-scope-filter-objects/update-a-scope-filter-definition",
+ ],
+ },
],
},
{
@@ -1059,6 +1084,19 @@ const sidebars = {
"common-workflows/administration/manage-bookmarks/get-bookmarks/get-bookmarks",
],
},
+ {
+ type: "category",
+ link: {
+ type: "doc",
+ id: "common-workflows/administration/manage-system-prompts/manage-system-prompts",
+ },
+ label: "Manage system prompts",
+ items: [
+ "common-workflows/administration/manage-system-prompts/get-system-prompts/get-system-prompts",
+ "common-workflows/administration/manage-system-prompts/update-system-prompts/update-system-prompts",
+ "common-workflows/administration/manage-system-prompts/appendix/system-prompt-index",
+ ],
+ },
{
type: "category",
link: {
@@ -1088,7 +1126,10 @@ const sidebars = {
type: "doc",
id: "common-workflows/mosaic/manage-data-models/manage-data-models",
},
- items: ["common-workflows/mosaic/manage-data-models/retrieve-a-data-model"],
+ items: [
+ "common-workflows/mosaic/manage-data-models/retrieve-a-data-model",
+ "common-workflows/mosaic/manage-data-models/create-and-update-a-data-model",
+ ],
},
{
type: "category",
@@ -1099,6 +1140,7 @@ const sidebars = {
},
items: [
"common-workflows/mosaic/manage-data-model-tables/retrieve-data-model-tables",
+ "common-workflows/mosaic/manage-data-model-tables/create-update-and-delete-a-table",
],
},
{
@@ -1110,6 +1152,9 @@ const sidebars = {
},
items: [
"common-workflows/mosaic/manage-data-model-base-metrics/retrieve-data-model-base-metrics",
+ "common-workflows/mosaic/manage-data-model-base-metrics/create-a-data-model-base-metric",
+ "common-workflows/mosaic/manage-data-model-base-metrics/update-a-data-model-base-metric",
+ "common-workflows/mosaic/manage-data-model-base-metrics/delete-a-data-model-base-metric",
],
},
{
@@ -1122,6 +1167,8 @@ const sidebars = {
items: [
"common-workflows/mosaic/manage-data-model-metrics/retrieve-data-model-metrics",
"common-workflows/mosaic/manage-data-model-metrics/retrieve-a-data-model-metric-embedded-object",
+ "common-workflows/mosaic/manage-data-model-metrics/create-update-and-delete-a-metric",
+ "common-workflows/mosaic/manage-data-model-metrics/create-and-update-a-metric-embedded-object",
],
},
{
@@ -1135,8 +1182,13 @@ const sidebars = {
"common-workflows/mosaic/manage-data-model-attributes/retrieve-an-attributes-elements-in-data-model",
"common-workflows/mosaic/manage-data-model-attributes/retrieve-data-model-attributes",
"common-workflows/mosaic/manage-data-model-attributes/retrieve-an-attributes-relationships-in-data-model",
+ "common-workflows/mosaic/manage-data-model-attributes/create-a-data-model-attribute",
+ "common-workflows/mosaic/manage-data-model-attributes/update-a-data-model-attribute",
+ "common-workflows/mosaic/manage-data-model-attributes/delete-a-data-model-attribute",
+ "common-workflows/mosaic/manage-data-model-attributes/update-a-data-model-attributes-relationships",
"common-workflows/mosaic/manage-data-model-attributes/retrieve-smart-attributes-for-an-attribute-in-data-model",
"common-workflows/mosaic/manage-data-model-attributes/retrieve-smart-attribute-templates-for-an-attribute-in-data-model",
+ "common-workflows/mosaic/manage-data-model-attributes/create-and-update-smart-attributes",
],
},
{
@@ -1159,6 +1211,7 @@ const sidebars = {
},
items: [
"common-workflows/mosaic/manage-data-model-folders/retrieve-data-model-folders",
+ "common-workflows/mosaic/manage-data-model-folders/create-update-and-delete-a-folder",
],
},
{
@@ -1190,6 +1243,18 @@ const sidebars = {
"common-workflows/mosaic/publish/schedule-refresh-a-data-model",
],
},
+ {
+ type: "category",
+ label: "Retrieve data from data models",
+ link: {
+ type: "doc",
+ id: "common-workflows/mosaic/retrieve-data-from-data-models/retrieve-data-from-data-models",
+ },
+ items: [
+ "common-workflows/mosaic/retrieve-data-from-data-models/retrieve-data-through-cube-instance",
+ "common-workflows/mosaic/retrieve-data-from-data-models/retrieve-data-model-sql-view",
+ ],
+ },
{
type: "category",
label: "Manage data model object acl",
@@ -1202,6 +1267,66 @@ const sidebars = {
"common-workflows/mosaic/manage-data-model-object-acl/update-a-data-model-object-acl",
],
},
+ {
+ type: "category",
+ label: "Manage data model object translations",
+ link: {
+ type: "doc",
+ id: "common-workflows/mosaic/manage-data-model-object-translations/manage-data-model-object-translations",
+ },
+ items: [
+ "common-workflows/mosaic/manage-data-model-object-translations/retrieve-a-data-model-object-translations",
+ "common-workflows/mosaic/manage-data-model-object-translations/update-a-data-model-object-translations",
+ ],
+ },
+ {
+ type: "category",
+ label: "Manage workspaces",
+ link: {
+ type: "doc",
+ id: "common-workflows/mosaic/manage-workspaces/manage-workspaces",
+ },
+ items: [
+ "common-workflows/mosaic/manage-workspaces/create-retrieve-update-and-delete-a-workspace",
+ "common-workflows/mosaic/manage-workspaces/restore-a-workspace",
+ ],
+ },
+ {
+ type: "category",
+ label: "Manage workspace pipelines",
+ link: {
+ type: "doc",
+ id: "common-workflows/mosaic/manage-workspace-pipelines/manage-workspace-pipelines",
+ },
+ items: [
+ "common-workflows/mosaic/manage-workspace-pipelines/create-retrieve-update-and-delete-a-pipeline",
+ "common-workflows/mosaic/manage-workspace-pipelines/refresh-a-pipeline",
+ ],
+ },
+ {
+ type: "category",
+ label: "Manage workspace pipeline tables",
+ link: {
+ type: "doc",
+ id: "common-workflows/mosaic/manage-workspace-pipeline-tables/manage-workspace-pipeline-tables",
+ },
+ items: [
+ "common-workflows/mosaic/manage-workspace-pipeline-tables/create-retrieve-update-and-delete-a-source-table",
+ "common-workflows/mosaic/manage-workspace-pipeline-tables/create-retrieve-update-and-delete-a-wrangle-table",
+ ],
+ },
+ {
+ type: "category",
+ label: "Data model end-to-end management",
+ link: {
+ type: "doc",
+ id: "common-workflows/mosaic/end-to-end/end-to-end",
+ },
+ items: [
+ "common-workflows/mosaic/end-to-end/create-a-data-model-from-scratch",
+ "common-workflows/mosaic/end-to-end/edit-an-existing-data-model",
+ ],
+ },
],
},
],