Location customerMetadata on the public API
Summary
Practice locations support custom metadata (key/value pairs) for storing external system references:
updateLocationMetadata— add or update an entry (max key length 40, value 500, up to 50 keys per location).deleteLocationMetadata— remove an entry by key. If the key does not exist, the mutation returns the location unchanged and does not return an error.PracticeLocation.metadata— read entries as[MetadataEntry](key,value).
The locationId argument is the location group ID exposed as PracticeLocation.groupId. Existing practice queries continue to work unchanged unless callers request the new metadata field.
Integration guidance
- Writing metadata: Call
updateLocationMetadatawithlocationId,key, andvalue. - Removing metadata: Call
deleteLocationMetadatawithlocationIdandkey. Missing keys are a successful no-op. - Reading metadata: Query
practice, requestlocations, and includegroupIdplusmetadata { key value }. - External references: Store partner location identifiers in metadata instead of overloading display fields such as the location name.
Example
mutation UpdateLocationMetadata {
updateLocationMetadata(
locationId: "LOCATION_GROUP_ID"
key: "external_ref"
value: "LOC-42"
) {
data {
groupId
metadata {
key
value
}
}
error
}
}
query PracticeLocations {
practice {
locations {
id
groupId
name
metadata {
key
value
}
}
}
}
Migration
This release is additive. Existing practice clients do not need to change unless they want to write or read custom location metadata.