Create a query
Create a query
A metadata query is a POST
request to the /metadata_queries/execute_read
-
endpoint, in which the body contains all the parts of the metadata query. Most
important here are the from
attribute that specifies the template to search
for, the ancestor_folder_id
to specify the folder to search in, and the
query
to determine any template fields to search by.
curl -X POST https://api.box.com/2.0/metadata_queries/execute_read \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'Content-Type: application/json' \
-d '{
"from": "enterprise_123456.contractTemplate",
"query": "amount >= :value",
"query_params": {
"value": 100
},
"fields": [
"name",
"metadata.enterprise_123456.contractTemplate.customerName",
"metadata.enterprise_123456.contractTemplate.amount"
],
"ancestor_folder_id": "5555",
"order_by": [
{
"field_key": "amount",
"direction": "asc"
}
],
"limit": 100
}'
For more details about all the available parameters, check out any of our other metadata query guides, or the associated endpoint reference.
Learn more about the query syntax
Response
Any files or folders that match the query are returned in the API response.
The body of the response is a JSON object with a list of entries
for each file
or folder, and a next_marker
value that you can use to find the next page of
results. Each of the entries will represent the file or
folder that matched the query, and only any fields explicitly requested in the
field
parameter are returned.
{
"entries": [
{
"type": "file",
"id": "1617554169109",
"name": "My Contract.docx",
"metadata": {
"enterprise_123456": {
"contractTemplate": {
"$parent": "file_161753469109",
"$scope": "enterprise_123456",
"$template": "contractTemplate",
"$version": 0,
"customerName": "Phoenix Corp",
"amount": 100
}
}
}
}
],
"limit": 20,
"next_marker": "AAAAAmVYB1FWec8GH6yWu2nwmanfMh07IyYInaa7DZDYjgO1H4KoLW29vPlLY173OKsci6h6xGh61gG73gnaxoS+o0BbI1/h6le6cikjlupVhASwJ2Cj0tOD9wlnrUMHHw3/ISf+uuACzrOMhN6d5fYrbidPzS6MdhJOejuYlvsg4tcBYzjauP3+VU51p77HFAIuObnJT0ff"
}
By default this API returns 20
items per page, but more items can be requested
using marker-based pagination.
Learn more about paginating query results