What is metadata?
Metadata lets you store supplementary information alongside an entity’s standard data model by adding custom attributes or annotations without altering the entity’s predefined schema. In Midaz, metadata is an object that supports key-value pairs in these data types: strings, integers, floats, and booleans. Keys take up to 100 bytes and values up to 2,000 bytes.
Example of metadata
Consider an Organization entity as shown below:POST or PATCH requests:
Creating entities with metadata
When creating an entity, you can submit metadata through our
POST endpoints and add custom data from the start.
Updating and removing metadata
Our API follows the JSON Merge Patch RFC for metadata updates:
- Adding or Updating Values: Submitting a key with a new value in a
PATCHrequest updates the existing metadata. - Removing Keys: Sending a key as
nullin aPATCHrequest removes that key-value pair. A key you omit keeps its value. - Removing all keys: On
/v1, sendingmetadataasnullin aPATCHrequest removes every key that you set. On a transaction or an operation, the keys that the ledger writes stay. On/v2, sendingmetadataasnullkeeps the stored metadata. To remove keys on/v2, send each key asnull. - Keeping metadata unchanged: Sending
metadataas{}, or leavingmetadataout of thePATCHrequest, keeps the stored metadata.
Practical example: modifying metadata
Suppose an Organization entity initially included metadata for sector and employee count. To update the employee count while removing the sector, send aPATCH request with the following metadata:

