List all metadata templates
List all metadata templates
Metadata templates can be listed for either the enterprise or the global scope.
List global templates
To list all global metadata templates, call the GET /metadata_templates/global
API endpoint.
cURL
curl -X GET https://api.box.com/2.0/metadata_templates/global \
-H 'Authorization: Bearer <ACCESS_TOKEN>'
.NET
BoxEnterpriseMetadataTemplateCollection<BoxMetadataTemplate> templates = await client.MetadataManager
.GetEnterpriseMetadataAsync("global");
Java
Iterable<MetadataTemplate> templates = MetadataTemplate.getEnterpriseMetadataTemplates('global', api);
for (MetadataTemplate templateInfo : templates) {
// Do something with the metadata template.
}
Python
templates = client.get_metadata_templates(scope='global)
for template in templates:
print('Metadata template {0} is in global scope'.format(template.templateKey))
Node
client.metadata.getTemplates('global')
.then(templates => {
// ...
});
iOS
client.metadata.listEnterpriseTemplates(scope: "global") { results in
switch results {
case let .success(iterator):
for i in 1 ... 10 {
iterator.next { result in
switch result {
case let .success(template):
print("Template name: \(template.displayName)")
case let .failure(error):
print(error)
}
}
}
case let .failure(error):
print(error)
}
}
List current enterprise's templates
To list all templates metadata templates created for usage within the current
enterprise, call the GET /metadata_templates/enterprise
API
endpoint.
cURL
curl -X GET https://api.box.com/2.0/metadata_templates/enterprise \
-H 'Authorization: Bearer <ACCESS_TOKEN>'
.NET
BoxEnterpriseMetadataTemplateCollection<BoxMetadataTemplate> templates = await client.MetadataManager
.GetEnterpriseMetadataAsync();
Java
Iterable<MetadataTemplate> templates = MetadataTemplate.getEnterpriseMetadataTemplates(api);
for (MetadataTemplate templateInfo : templates) {
// Do something with the metadata template.
}
Python
templates = client.get_metadata_templates()
for template in templates:
print('Metadata template {0} is in enterprise scope'.format(template.templateKey))
Node
client.metadata.getTemplates('enterprise')
.then(templates => {
/* templates -> {
limit: 100,
entries:
[ { templateKey: 'documentFlow',
scope: 'enterprise_12345',
displayName: 'Document Flow',
hidden: false,
fields:
[ { type: 'string',
key: 'currentDocumentStage',
displayName: 'Current Document Stage',
hidden: false }
{ type: 'string',
key: 'needsApprovalFrom',
displayName: 'Needs Approval From',
hidden: false },
{ type: 'string',
key: 'nextDocumentStage',
displayName: 'Next Document Stage',
hidden: false }
{ type: 'float',
key: 'maximumDaysAllowedInCurrentStage',
displayName: 'Maximum Days Allowed In Current Stage',
hidden: false }
{ templateKey: 'marketingCollateral',
scope: 'enterprise_12345',
displayName: 'Marketing Collateral',
hidden: false,
fields:
[ { type: 'string',
key: 'audience1',
displayName: 'Audience',
hidden: false },
{ type: 'string',
key: 'previousState',
displayName: 'Previous State',
hidden: false } ] },
{ templateKey: 'productInfo',
scope: 'enterprise_12345',
displayName: 'Product Info',
hidden: false,
fields:
[ { type: 'float',
key: 'skuNumber',
displayName: 'SKU Number',
hidden: false },
{ type: 'enum',
key: 'department',
displayName: 'Department',
hidden: false,
options:
[ { key: 'Beauty' },
{ key: 'Shoes' },
{ key: 'Accessories' },
{ key: 'Clothing' },
{ key: 'Handbags' },
{ key: 'Bedding' },
{ key: 'Watches' } ] },
{ type: 'date',
key: 'displayDate',
displayName: 'Display Date',
hidden: false } ] } ],
next_marker: null,
prev_marker: null }
*/
});
iOS
client.metadata.listEnterpriseTemplates(scope: "enterprise") { results in
switch results {
case let .success(iterator):
for i in 1 ... 10 {
iterator.next { result in
switch result {
case let .success(template):
print("Template name: \(template.displayName)")
case let .failure(error):
print(error)
}
}
}
case let .failure(error):
print(error)
}
}
Pagination
This API uses marker-based pagination and can return a
next_marker
value in the response body to indicate that more templates might
be available.