HomeGuidesRecipesAPI Reference
Alation Help Center

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.