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 -i -X GET "https://api.box.com/2.0/metadata_templates/global" \
-H "authorization: Bearer <ACCESS_TOKEN>"
TypeScript Gen
await client.metadataTemplates.getGlobalMetadataTemplates();
Python Gen
client.metadata_templates.get_global_metadata_templates()
.NET Gen
await client.MetadataTemplates.GetGlobalMetadataTemplatesAsync();
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(f'Metadata template {template.templateKey} is in global scope')
.NET
BoxEnterpriseMetadataTemplateCollection<BoxMetadataTemplate> templates = await client.MetadataManager
.GetEnterpriseMetadataAsync("global");
Node
client.metadata.getTemplates('global')
.then(templates => {
// ...
});
iOS
let iterator = client.metadata.listEnterpriseTemplates(scope: "global")
iterator.next { results in
switch results {
case let .success(page):
for template in page.entries {
print("Template name: \(template.displayName)")
}
case let .failure(error):
print(error)
}
}
List current enterprise's templates
To list all metadata templates created for usage within the current
enterprise, call the GET /metadata_templates/enterprise
API
endpoint.
cURL
curl -i -X GET "https://api.box.com/2.0/metadata_templates/enterprise" \
-H "authorization: Bearer <ACCESS_TOKEN>"
TypeScript Gen
await client.metadataTemplates.getEnterpriseMetadataTemplates();
Python Gen
client.metadata_templates.get_enterprise_metadata_templates()
.NET Gen
await client.MetadataTemplates.GetEnterpriseMetadataTemplatesAsync();
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(f'Metadata template {template.templateKey} is in enterprise scope')
.NET
BoxEnterpriseMetadataTemplateCollection<BoxMetadataTemplate> templates = await client.MetadataManager
.GetEnterpriseMetadataAsync();
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
let iterator = client.metadata.listEnterpriseTemplates(scope: "enterprise")
iterator.next { results in
switch results {
case let .success(page):
for template in page.entries {
print("Template name: \(template.displayName)")
}
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.