List all metadata on an item
List all metadata on an item
Metadata instances can be listed for either a file or a folder.
List metadata on a file
To list all metadata instances on a file, call the
GET /files/:file_id/metadata
API endpoint.
cURL
curl -X GET https://api.box.com/2.0/files/12345/metadata \
-H 'Authorization: Bearer <ACCESS_TOKEN>'
.NET
BoxMetadataTemplateCollection<Dictionary<string, object>> metadataInstances = await client.MetadataManager
.GetAllFileMetadataTemplatesAsync(fileId: "11111");
Java
BoxFile file = new BoxFile(api, "id");
Iterable<Metadata> metadataList = file.getAllMetadata();
for (Metadata metadata : metadataList) {
// Do something with the metadata.
}
Python
file_metadata = client.file(file_id='11111').get_all_metadata()
for instance in file_metadata:
if 'foo' in instance:
print('Metadata instance {0} has value "{1}" for foo'.format(instance['id'], instance['foo']))
Node
client.files.getAllMetadata('11111')
.then(metadata => {
/* metadata -> {
entries:
[ { currentDocumentStage: 'Init',
'$type': 'documentFlow-452b4c9d-c3ad-4ac7-b1ad-9d5192f2fc5f',
'$parent': 'file_11111',
'$id': '50ba0dba-0f89-4395-b867-3e057c1f6ed9',
'$version': 4,
'$typeVersion': 2,
needsApprovalFrom: 'Smith',
'$template': 'documentFlow',
'$scope': 'enterprise_12345' },
{ '$type': 'productInfo-9d7b6993-b09e-4e52-b197-e42f0ea995b9',
'$parent': 'file_11111',
'$id': '15d1014a-06c2-47ad-9916-014eab456194',
'$version': 2,
'$typeVersion': 1,
skuNumber: 45334223,
description: 'Watch',
'$template': 'productInfo',
'$scope': 'enterprise_12345' },
{ Popularity: '25',
'$type': 'properties',
'$parent': 'file_11111',
'$id': 'b6f36cbc-fc7a-4eda-8889-130f350cc057',
'$version': 0,
'$typeVersion': 2,
'$template': 'properties',
'$scope': 'global' } ],
limit: 100 }
*/
});
iOS
client.metadata.list(forFileId: "11111") { (result: Result<[MetadataObject], BoxSDKError>) in
guard case let .success(metadata) = result {
print("Error retrieving metadata")
return
}
print("Retrieved \(metadata.count) metadata instances:")
for instance in metadata {
print("- \(instance.template)")
}
}
List metadata on a folder
To list all metadata instances on any folder (except for the root folder), call
the GET /folders/:file_id/metadata
API endpoint.
cURL
curl -X GET https://api.box.com/2.0/folders/4353455/metadata \
-H 'Authorization: Bearer <ACCESS_TOKEN>'
.NET
BoxMetadataTemplateCollection<Dictionary<string, object>> metadataInstances = await client.MetadataManager
.GetAllFolderMetadataTemplatesAsync(folderId: "11111");
Java
BoxFolder file = new BoxFolder(api, "id");
Iterable<Metadata> metadataList = folder.getAllMetadata();
for (Metadata metadata : metadataList) {
// Do something with the metadata.
}
Python
folder_metadata = client.folder(folder_id='22222').get_all_metadata()
for instance in folder_metadata:
if 'foo' in instance:
print('Metadata instance {0} has value "{1}" for foo'.format(instance['id'], instance['foo']))
Node
client.folders.getAllMetadata('11111')
.then(metadata => {
/* metadata -> {
entries:
[ { currentDocumentStage: 'Init',
'$type': 'documentFlow-452b4c9d-c3ad-4ac7-b1ad-9d5192f2fc5f',
'$parent': 'folder_11111',
'$id': '50ba0dba-0f89-4395-b867-3e057c1f6ed9',
'$version': 4,
'$typeVersion': 2,
needsApprovalFrom: 'Smith',
'$template': 'documentFlow',
'$scope': 'enterprise_12345' },
{ '$type': 'productInfo-9d7b6993-b09e-4e52-b197-e42f0ea995b9',
'$parent': 'folder_11111',
'$id': '15d1014a-06c2-47ad-9916-014eab456194',
'$version': 2,
'$typeVersion': 1,
skuNumber: 45334223,
description: 'Watch',
'$template': 'productInfo',
'$scope': 'enterprise_12345' },
{ Popularity: '25',
'$type': 'properties',
'$parent': 'folder_11111',
'$id': 'b6f36cbc-fc7a-4eda-8889-130f350cc057',
'$version': 0,
'$typeVersion': 2,
'$template': 'properties',
'$scope': 'global' } ],
limit: 100 }
*/
});
iOS
client.metadata.list(forFolderId: "22222") { (result: Result<[MetadataObject], BoxSDKError>) in
guard case let .success(metadata) = result {
print("Error retrieving metadata")
return
}
print("Retrieved \(metadata.count) metadata instances:")
for instance in metadata {
print("- \(instance.template)")
}
}