Box Developer Documentation
Latest version

Get metadata template by name

get
https://api.box.com/2.0
/metadata_templates/:scope/:template_key/schema

This endpoint is in the version 2024.0. No changes are required to continue using it. For more details, see Box API versioning.

Retrieves a metadata template by its scope and templateKey values.

To find the scope and templateKey for a template, list all templates for an enterprise or globally, or list all templates applied to a file or folder.

Request

bearer [ACCESS_TOKEN]
application/json

Path Parameters

stringin pathrequired
global

The scope of the metadata template.

Value is one of global,enterprise

stringin pathrequired
properties

The name of the metadata template.

Response

application/jsonMetadata template

Returns the metadata template matching the scope and template name.

application/jsonClient error

Returned if any of the request parameters are not valid.

  • bad_request: Often returned when the scope of the template is not recognised. Please make sure to use either enterprise or global as the scope value.
application/jsonClient error

Returned when a template with the given scope and template_key can not be found.

application/jsonClient error

An unexpected client error.

get
Get metadata template by name
You can now try out some of our APIs live, right here in the documentation.
Log in

Request Example

Learn more about Box SDK versionig strategy.


cURL
curl -i -X GET "https://api.box.com/2.0/metadata_templates/enterprise/blueprintTemplate/schema" \
     -H "authorization: Bearer <ACCESS_TOKEN>"
Node/TypeScript v10
await client.metadataTemplates.getMetadataTemplate(
  'enterprise' as GetMetadataTemplateScope,
  template.templateKey!,
);
Python v10
client.metadata_templates.get_metadata_template(
    GetMetadataTemplateScope.ENTERPRISE, template.template_key
)
.NET v10
await client.MetadataTemplates.GetMetadataTemplateAsync(scope: GetMetadataTemplateScope.Enterprise, templateKey: NullableUtils.Unwrap(template.TemplateKey));
Swift v10
try await client.metadataTemplates.getMetadataTemplate(scope: GetMetadataTemplateScope.enterprise, templateKey: template.templateKey!)
Java v10
client.getMetadataTemplates().getMetadataTemplate(GetMetadataTemplateScope.ENTERPRISE, template.getTemplateKey())
Java v4
MetadataTemplate template = MetadataTemplate.getMetadataTemplate(api, "templateName");
Python v3
template = client.metadata_template('enterprise', 'employeeRecord').get()
print(f'The {template.displayName} template has {len(template.fields)} fields')
.NET v5
BoxMetadataTemplate template = await client.MetadataManager
    .GetMetadataTemplate("enterprise", "marketingCollateral");
Node v3
client.metadata.getTemplateSchema('enterprise', 'vcontract')
	.then(template => {
		/* template -> {
			id: '17f2d715-6acb-45f2-b96a-28b15efc9faa',
			templateKey: 'vcontract',
			scope: 'enterprise_12345',
			displayName: 'Vendor Contract',
			hidden: true,
			fields: 
			[ { type: 'date',
				key: 'signed',
				displayName: 'Date Signed',
				hidden: false },
				{ type: 'string',
				key: 'vendor',
				displayName: 'Vendor',
				hidden: false },
				{ type: 'enum',
				key: 'fy',
				displayName: 'Fiscal Year',
				options: 
					[ { key: 'FY17' },
					{ key: 'FY18' },
					{ key: 'FY19' } ],
				hidden: false } ] }
		*/
	});

Response Example

{
  "id": "58063d82-4128-7b43-bba9-92f706befcdf",
  "type": "metadata_template",
  "copyInstanceOnItemCopy": true,
  "displayName": "Product Info",
  "fields": [
    {
      "description": "The category",
      "displayName": "Category",
      "hidden": true,
      "key": "category",
      "options": [
        {
          "key": "Category 1",
          "id": "45dc2849-a4a7-40a9-a751-4a699a589190"
        }
      ],
      "type": "string",
      "id": "822227e0-47a5-921b-88a8-494760b2e6d2"
    }
  ],
  "hidden": true,
  "scope": "enterprise_123456",
  "templateKey": "productInfo"
}