ULM Update
If you have jobs that are using this API to update schemas, tables, file systems, and etc. this API will still work, but it is not be as performant as the new [Custom Field Values Overview](🔗). This API is recommend for modifying articles.
## Overview
NoSQL objects are becoming more and more popular thus increasing the need for governance and documenting curating this data. In this guide, we will be going through how to update custom metadata fields via API.
### Environment Setup
We will be using the below NoSQL example with the following custom fields enabled on the templates `NoSQL Database
`, `NoSQL Collection
`, `NoSQL Attribute
`:
Line of Business (Multi-Picker)
Finance
Operations
Marketing
Research
Notes (Rich Text Field)
Contains PII (Picker)
Yes
No
Review
### Permissions Needed
Please consult [APIs by Roles](🔗) for the latest information.
### Additional Information
Please see [ULM: Key Formatting](🔗) and [ULM: Custom Field Formatting](🔗) for additional details before starting this guide.
[VS for NoSQL Databases](🔗) is another great source for creating a NoSQL db in Alation.
### NoSQL Structure
When reviewing the [ULM: Key Formatting](🔗) we can see there are 3 major object types,
docstore_folder
docstore_collection
doc_schema In the below image, we can see how this breaks down.

## Updating Docstore Folder
Here's a quick example of what the docstore folder `Products
` looks like in Alation.

Let's now use the [Upload Logical Metadata](🔗) to update the custom fields here.
Trust but verify. Let's look at this object in Alation now.

## Updating Docstore Collection
In Alation, this will look like...

## Updating Docstore Schemas w/ Nested Objects
JSON objects can have nested objects within themselves. It is a simple solve as we change the object_type to docstore_schema and then keep adding a "." to each field name. e.g. we can see `281.Products.Products.Collection Item
` has `priceDate
` object with `$date
` nested inside. This would make the key `281.Products.Products.Collection Item.priceDate.$date
`.
**NOTE:** If there is a "." in the name, you can always escape that character with a "\". Here is what this page looks like before the POST.

The ULM API also allows you to update the `title
` and `description
` of each object.
Here is the updated docstore_schema page.
**NOTE:** We did not update the `
Collection Item
` docstore schema custom fields.
