related_endpoints | related_guides | required_guides | related_resources | |||||
---|---|---|---|---|---|---|---|---|
|
|
|
|
Updating a metadata template can be achieved by passing an array of operations
to the PUT /metadata_templates/:scope/:templateKey/schema
API.
Updating metadata templates is restricted to users with admin permission. This means that only admins, or co-admins who have been granted rights to Create and edit metadata templates for your company by the admin can use the web app or the API to manage templates.
Updates to metadata templates are performed through operations rather than directly changing the template itself. This method allows us to update any existing metadata instances that are already applied to files and folders.
Template operations update a template's details or fields. These operations are generally safe as they are applied to any template instance without much impact.
The operation editTemplate
allows for editing any of the base properties of
the template, like the displayName
, copyInstanceOnItemCopy
and more.
Parameter | |
---|---|
data |
An object representing the properties to change |
[
{
"op": "editTemplate",
"data": {
"displayName": "Client",
"copyInstanceOnItemCopy": true
}
}
]
This will update the template to have a new display name of Client.
This will affect existing instances of this template.The operation addField
adds an field to a template.
Parameter | |
---|---|
data |
An object representing field to add |
[
{
"op": "addField",
"data": {
"displayName": "Category",
"key": "category",
"hidden": false,
"type": "string"
}
}
]
This will add a new non-hidden string field with a displayName
and key
of
category.
The operation reorderFields
reorders the list of fields in a template to match
the requested field list.
Parameter | |
---|---|
fieldKeys |
The new list of field keys in the requested order |
{
"op": "reorderFields",
"fieldKeys": ["field2", "field1", "field3"]
}
This will reorder the fields for the template to have field2
first, followed
by field1
, then field3
.
Field operations transform the schema of a template. The following is a list of operations that can be used in this API and can potentially change the data of any previously assigned templates.
These changes will be logged as template changes but not as file changes.
The operation editField
option edits any number of the base properties of a
field like the displayName
, description
, key
, and hidden
state.
Parameter | |
---|---|
data |
An object representing the new properties to set for the field |
fieldKey |
The key of the field to be edited |
{
"op": "editField",
"fieldKey": "category",
"data": {
"displayName": "Customer Group"
}
}
This will update the field category
to have a new display name of
Customer Group. If the key is changed, existing values of the specified
field are migrated to the new key. The search index will be updated yet it can
take time depending on how many files are affected by the change.
The operation removeField
removes an field from a template.
Parameter | |
---|---|
fieldKey |
The key of the field to remove from the template |
{
"op": "removeField",
"fieldKey": "brand"
}
This will remove the field brand
from the template as well as all instances of
the template. The search index will be updated yet it can take time depending on
how many files are affected by the change.
Both the enum
and
multiSelect
metadata field types support
some additional operations to change the options of the fields.
Operation | |
---|---|
addEnumOption |
Adds an option to an enum field |
editEnumOption |
Edits an enum field option |
reorderEnumOptions |
Re-orders the options on an enum field |
removeEnumOption |
Removes an enum field options |
addMultiSelectOption |
Adds an option to a multiSelect field |
editMultiSelectOption |
Edits a multiSelect field option |
reorderMultiSelectOptions |
Re-orders the options on a multiSelect field |
removeMultiSelectOption |
Removes a multiSelect field options |