How to Add a Custom Property to an Entity with API
This tutorial will create a custom property for a table
entity.
Let's assume in your organization you want to keep track of table size, so to achieve that you will be creating a custom property for table entities and then providing a value to that property for each table.
Step 1: Get the table entity type.
All OpenMetadata APIs are secured so make sure to add the proper headers.
After the API call, you will get a response like this.
Now take the id
from above response 7f0b032f-cdc8-4573-abb0-22165dcd8e07
.
Step 2: Get the field types with category=field
From UI OpenMetadata only supports three field types
- String
- Markdown
- Integer
This API will return all the available field types, for this tutorial grab the id of the string
field type. i.e 7531f881-c37c-4e39-9154-4bdf0802e05e
Step 3: Make a PUT call to create the custom property for the table entity
Payload
Step 4: Get the custom properties for the table entity
Response
So for all table entities, we have tableSize
custom property available now, let’s add the value for it for the raw_product_catalog
table.
Step 5: Add/Edit the value of the custom property for the entity.
All the custom properties value for the entity will be stored in the extension
attribute.
Let’s assume you have raw_product_catalog
table and its id is 208598fc-bd5f-458c-bf98-59224e1620c7
so our PATCH API request will be like this.
For the first time if we want to add the value to the custom property then the payload should be like this.
When Changing the value of the custom property payload should be like this,