{"openapi":"3.1.0","info":{"title":"Box Metadata (BYOK) API","version":"0.1.0","description":"Box Metadata (BYOK) lets an AI assistant read your own Box Metadata data through the Box Metadata API with a key you supply (developer token or OAuth access token (developer tokens expire quickly)). Read-only: 8 tools (list_enterprise_templates, list_global_templates, get_template_by_name, get_template_by_id, list_classifications, list_cascade_policies, list_taxonomies, list_taxonomy_nodes). The...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-box-metadata.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-box-metadata/docs"},"termsOfService":"https://connectorbay.com/byok-box-metadata/terms"},"servers":[{"url":"https://byok-box-metadata.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-box-metadata/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_enterprise_templates":{"post":{"operationId":"list_enterprise_templates","summary":"List the metadata templates your enterprise defined, with key, display name and the fields of each template (field keys,","description":"List the metadata templates your enterprise defined, with key, display name and the fields of each template (field keys, types, descriptions, options). Use for \"Which metadata templates does our Box account define\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many entries to return (1 to 1000).","title":"Limit"},"marker":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Paging marker: the next_marker value of the previous answer (omit for the first page).","title":"Marker"}},"title":"list_enterprise_templatesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_global_templates":{"post":{"operationId":"list_global_templates","summary":"List the metadata templates Box provides to every account (for example properties and box skills cards) with their field","description":"List the metadata templates Box provides to every account (for example properties and box skills cards) with their fields. Use for \"Which global Box metadata templates exist\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many entries to return (1 to 1000).","title":"Limit"},"marker":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Paging marker: the next_marker value of the previous answer (omit for the first page).","title":"Marker"}},"title":"list_global_templatesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_template_by_name":{"post":{"operationId":"get_template_by_name","summary":"Get one metadata template by scope and key, with all its fields, field types, options and taxonomy links. Use for \"What ","description":"Get one metadata template by scope and key, with all its fields, field types, options and taxonomy links. Use for \"What fields does Box metadata template 'contract' have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"scope":{"description":"Template scope: 'enterprise' for your own templates or 'global' for Box-provided ones.","enum":["enterprise","global"],"title":"Scope","type":"string"},"template_key":{"description":"Template key such as 'contract' (the templateKey in list answers).","maxLength":200,"title":"Template Key","type":"string"}},"required":["scope","template_key"],"title":"get_template_by_nameArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_template_by_id":{"post":{"operationId":"get_template_by_id","summary":"Get one metadata template by its id, with all its fields, field types and options. Use for \"What is Box metadata templat","description":"Get one metadata template by its id, with all its fields, field types and options. Use for \"What is Box metadata template t-1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"template_id":{"description":"Metadata template id (the id field in list answers).","maxLength":200,"title":"Template Id","type":"string"}},"required":["template_id"],"title":"get_template_by_idArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_classifications":{"post":{"operationId":"list_classifications","summary":"List the security classification labels defined for the enterprise (names and ids), as stored in the classification meta","description":"List the security classification labels defined for the enterprise (names and ids), as stored in the classification metadata template. Use for \"Which security classification labels does our Box account use\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_classificationsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_cascade_policies":{"post":{"operationId":"list_cascade_policies","summary":"List the metadata cascade policies of a folder: which template is applied automatically to everything inside it. Use for","description":"List the metadata cascade policies of a folder: which template is applied automatically to everything inside it. Use for \"Which metadata cascade policies apply to Box folder 0\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"folder_id":{"description":"Folder id whose cascade policies to list ('0' is the root folder).","maxLength":40,"title":"Folder Id","type":"string"},"owner_enterprise_id":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Enterprise id that owns the policies (defaults to the key's enterprise).","title":"Owner Enterprise Id"},"marker":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Paging marker: the next_marker value of the previous answer (omit for the first page).","title":"Marker"},"offset":{"anyOf":[{"maximum":10000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Start position for paging, from 0.","title":"Offset"}},"required":["folder_id"],"title":"list_cascade_policiesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_taxonomies":{"post":{"operationId":"list_taxonomies","summary":"List the metadata taxonomies in a namespace with key, display name and level definitions (taxonomy trees used by templat","description":"List the metadata taxonomies in a namespace with key, display name and level definitions (taxonomy trees used by template fields). Use for \"Which metadata taxonomies does namespace enterprise_123 have in Box\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"namespace":{"description":"Taxonomy namespace, usually 'enterprise_<your enterprise id>'.","maxLength":200,"title":"Namespace","type":"string"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many entries to return (1 to 1000).","title":"Limit"},"marker":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Paging marker: the next_marker value of the previous answer (omit for the first page).","title":"Marker"}},"required":["namespace"],"title":"list_taxonomiesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_taxonomy_nodes":{"post":{"operationId":"list_taxonomy_nodes","summary":"List the nodes (values) of one metadata taxonomy with level, parent and path, optionally filtered by text, level or pare","description":"List the nodes (values) of one metadata taxonomy with level, parent and path, optionally filtered by text, level or parent node. Use for \"What values does Box taxonomy 'regions' contain\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"namespace":{"description":"Taxonomy namespace, usually 'enterprise_<your enterprise id>'.","maxLength":200,"title":"Namespace","type":"string"},"taxonomy_key":{"description":"Taxonomy key from list_taxonomies.","maxLength":200,"title":"Taxonomy Key","type":"string"},"query":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only nodes whose name contains this text.","title":"Query"},"include_total_result_count":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to also return the total number of matching nodes.","title":"Include Total Result Count"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many entries to return (1 to 1000).","title":"Limit"},"marker":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Paging marker: the next_marker value of the previous answer (omit for the first page).","title":"Marker"}},"required":["namespace","taxonomy_key"],"title":"list_taxonomy_nodesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}