Box Developer Documentation

Join BoxWorks 2024 to discover what's possible with content and AI!

Register now!

List metadata instances on file

get
https://api.box.com/2.0
/files/:file_id/metadata

Retrieves all metadata for a given file.

Request

bearer [ACCESS_TOKEN]
application/json

Path Parameters

stringin pathrequired
12345

The unique identifier that represents a file.

The ID for any file can be determined by visiting a file in the web application and copying the ID from the URL. For example, for the URL https://*.app.box.com/files/123 the file_id is 123.

Response

application/jsonMetadata instances

Returns all the metadata associated with a file.

This API does not support pagination and will therefore always return all of the metadata associated to the file.

application/jsonClient error

Returned when the request parameters are not valid.

application/jsonClient error

Returned when the user does not have access to the file.

application/jsonClient error

An unexpected client error.

get
List metadata instances on file
You can now try out some of our APIs live, right here in the documentation.
Log in

Request Example

cURL
curl -i -X GET "https://api.box.com/2.0/files/12345/metadata" \
     -H "authorization: Bearer <ACCESS_TOKEN>"
TypeScript Gen
await client.fileMetadata.getFileMetadata(file.id);
Python Gen
client.file_metadata.get_file_metadata(file.id)
.NET Gen
await client.FileMetadata.GetFileMetadataAsync(fileId: file.Id);
Swift Gen (Beta)
try await client.fileMetadata.getFileMetadata(fileId: file.id)
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(f'Metadata instance {instance["id"]} has value "{instance["foo"]}" for foo')
.NET
BoxMetadataTemplateCollection<Dictionary<string, object>> metadataInstances = await client.MetadataManager
    .GetAllFileMetadataTemplatesAsync(fileId: "11111");
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)")
    }
}

Response Example

{
  "entries": [
    {
      "$parent": "folder_59449484661,",
      "$template": "marketingCollateral",
      "$scope": "enterprise_27335",
      "$version": 1
    }
  ],
  "limit": 100
}