Quiltt Logo

Custom Metadata

Many user resources in Quiltt can be extended with additional information through their metadata field.

Link to this section#Use Cases

The metadata field allows you to store arbitrary custom data in a structured manner. You can use it to store many types of static or dynamic information that may be useful to retrieve later:

Link to this section#Static Data:

  • A user's nickname or pronoun
  • An internal ID connecting the record to your system
  • An external identifier for a 3rd party system

Link to this section#Dynamic States:

  • When was the last time the user interacted with a connection?
  • Is an account treated as "active" in your system?
  • Should a transaction be hidden in your UI?

Link to this section#Supported Resources

The following user resources currently expose a metadata field:

  • Profile
  • Connection
  • Account
  • Transaction

Link to this section#Examples

The below examples assume that you're interacting with a user profile through one of Quiltt's APIs. We're going to call this user by their preferred nickname: Quiltty.

Link to this section#Adding Metadata

First let's add some metadata, which is initially null:

Link to this section#Payload

{ "metadata": { "favoriteColor": "green", "nickname": "Quiltty" } }

Link to this section#Updating a Metadata Value

If Quiltty decides that purple is now her favorite color, we can update that in the system by changing the value:

Link to this section#Payload

{ "metadata": { "favoriteColor": "purple" } }

The metadata will become:

{ "favoriteColor": "purple", "nickname": "Quiltty" }

Link to this section#Deleting Metadata

To delete just the favorite color, we can set the favoriteColor to null:

Link to this section#Payload

{ "metadata": { "favoriteColor": null } }

The favoriteColor key will be deleted and the metadata will become:

{ "nickname": "Quiltty" }

To entirely delete the metadata and reset it to its initial value, we can set it to null like so:

Link to this section#Payload

{ "metadata": null }

Link to this section#Restrictions

Custom metadata must be sent as a valid key-value JSON object, and must include at least 1 string key. There is a maximum capacity of 50 keys per resource, with key names limited to 40 characters and values limited to 500 characters.

You should not store any sensitive data that may contain PII (Personally Identifiable Information) in the metadata object. If you need to store sensitive data like emails, phone numbers or birthdays, use the dedicated fields on the user profile, which use an additional level of encryption, as explained in the Core Concepts guide.