Standard appointment objects have a metadata field. In general, this is a JSON object that is constrained to be a flat list of key-value pairs. This metadata is only exposed through the API, and can not be viewed through the UI.

You may use this field to attach arbitrary key-value data about the appointment, or associate it with some external data. For example, you may include a unique identifier from your EMR in this field if you are building an EMR sync

  • There is a maximum of 50 keys per appointment metadata.
  • Keys must not exceed 100 characters.
  • Values must be strings, integers, booleans, or null.
  • String values must not exceed 2000 characters.
  • Numeric values must fit in a 32-bit signed integer type.


This is an example of metadata usage. You may define your own field names.

  "emr_id": "A1$SG9",             // String values are permitted
  "reminder_sent_at": 1618899888, // Integer values are permitted
  "is_urgent": false,             // Boolean values are permitted
  "checked_in_at": null           // Null values are permitted



The metadata object must be flat. You cannot nest JSON objects inside of it.