naftiko: 1.0.0-alpha2 info: label: Box Platform API — Metadata Templates description: 'Box Platform API — Metadata Templates. 8 operations. Lead operation: Box Find metadata template by instance ID. Self-contained Naftiko capability covering one Box business surface.' tags: - Box - Metadata Templates created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: BOX_API_KEY: BOX_API_KEY capability: consumes: - type: http namespace: box-metadata-templates baseUri: https://api.box.com/2.0 description: Box Platform API — Metadata Templates business capability. Self-contained, no shared references. resources: - name: metadata_templates path: /metadata_templates operations: - name: getmetadatatemplates method: GET description: Box Find metadata template by instance ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: metadata_instance_id in: query type: string description: The ID of an instance of the metadata template to find. required: true - name: metadata_templates-enterprise path: /metadata_templates/enterprise operations: - name: getmetadatatemplatesenterprise method: GET description: Box List all metadata templates for enterprise outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: marker in: query type: string description: Defines the position marker at which to begin returning results. This is - name: limit in: query type: integer description: The maximum number of items to return per page. - name: metadata_templates-global path: /metadata_templates/global operations: - name: getmetadatatemplatesglobal method: GET description: Box List all global metadata templates outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: marker in: query type: string description: Defines the position marker at which to begin returning results. This is - name: limit in: query type: integer description: The maximum number of items to return per page. - name: metadata_templates-schema path: /metadata_templates/schema operations: - name: postmetadatatemplatesschema method: POST description: Box Create metadata template outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: metadata_templates-scope-template_key-schema path: /metadata_templates/{scope}/{template_key}/schema operations: - name: getmetadatatemplatesididschema method: GET description: Box Get metadata template by name outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: scope in: path type: string description: The scope of the metadata template required: true - name: template_key in: path type: string description: The name of the metadata template required: true - name: putmetadatatemplatesididschema method: PUT description: Box Update metadata template outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: scope in: path type: string description: The scope of the metadata template required: true - name: template_key in: path type: string description: The name of the metadata template required: true - name: body in: body type: object description: Request body (JSON). required: false - name: deletemetadatatemplatesididschema method: DELETE description: Box Remove metadata template outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: scope in: path type: string description: The scope of the metadata template required: true - name: template_key in: path type: string description: The name of the metadata template required: true - name: metadata_templates-template_id path: /metadata_templates/{template_id} operations: - name: getmetadatatemplatesid method: GET description: Box Get metadata template by ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: template_id in: path type: string description: The ID of the template required: true authentication: type: bearer token: '{{env.BOX_API_KEY}}' exposes: - type: rest namespace: box-metadata-templates-rest port: 8080 description: REST adapter for Box Platform API — Metadata Templates. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/metadata-templates name: metadata-templates description: REST surface for metadata_templates. operations: - method: GET name: getmetadatatemplates description: Box Find metadata template by instance ID call: box-metadata-templates.getmetadatatemplates with: metadata_instance_id: rest.metadata_instance_id outputParameters: - type: object mapping: $. - path: /v1/metadata-templates/enterprise name: metadata-templates-enterprise description: REST surface for metadata_templates-enterprise. operations: - method: GET name: getmetadatatemplatesenterprise description: Box List all metadata templates for enterprise call: box-metadata-templates.getmetadatatemplatesenterprise with: marker: rest.marker limit: rest.limit outputParameters: - type: object mapping: $. - path: /v1/metadata-templates/global name: metadata-templates-global description: REST surface for metadata_templates-global. operations: - method: GET name: getmetadatatemplatesglobal description: Box List all global metadata templates call: box-metadata-templates.getmetadatatemplatesglobal with: marker: rest.marker limit: rest.limit outputParameters: - type: object mapping: $. - path: /v1/metadata-templates/schema name: metadata-templates-schema description: REST surface for metadata_templates-schema. operations: - method: POST name: postmetadatatemplatesschema description: Box Create metadata template call: box-metadata-templates.postmetadatatemplatesschema with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/metadata-templates/{scope}/{template-key}/schema name: metadata-templates-scope-template-key-schema description: REST surface for metadata_templates-scope-template_key-schema. operations: - method: GET name: getmetadatatemplatesididschema description: Box Get metadata template by name call: box-metadata-templates.getmetadatatemplatesididschema with: scope: rest.scope template_key: rest.template_key outputParameters: - type: object mapping: $. - method: PUT name: putmetadatatemplatesididschema description: Box Update metadata template call: box-metadata-templates.putmetadatatemplatesididschema with: scope: rest.scope template_key: rest.template_key body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletemetadatatemplatesididschema description: Box Remove metadata template call: box-metadata-templates.deletemetadatatemplatesididschema with: scope: rest.scope template_key: rest.template_key outputParameters: - type: object mapping: $. - path: /v1/metadata-templates/{template-id} name: metadata-templates-template-id description: REST surface for metadata_templates-template_id. operations: - method: GET name: getmetadatatemplatesid description: Box Get metadata template by ID call: box-metadata-templates.getmetadatatemplatesid with: template_id: rest.template_id outputParameters: - type: object mapping: $. - type: mcp namespace: box-metadata-templates-mcp port: 9090 transport: http description: MCP adapter for Box Platform API — Metadata Templates. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: box-find-metadata-template-instance description: Box Find metadata template by instance ID hints: readOnly: true destructive: false idempotent: true call: box-metadata-templates.getmetadatatemplates with: metadata_instance_id: tools.metadata_instance_id outputParameters: - type: object mapping: $. - name: box-list-all-metadata-templates description: Box List all metadata templates for enterprise hints: readOnly: true destructive: false idempotent: true call: box-metadata-templates.getmetadatatemplatesenterprise with: marker: tools.marker limit: tools.limit outputParameters: - type: object mapping: $. - name: box-list-all-global-metadata description: Box List all global metadata templates hints: readOnly: true destructive: false idempotent: true call: box-metadata-templates.getmetadatatemplatesglobal with: marker: tools.marker limit: tools.limit outputParameters: - type: object mapping: $. - name: box-create-metadata-template description: Box Create metadata template hints: readOnly: false destructive: false idempotent: false call: box-metadata-templates.postmetadatatemplatesschema with: body: tools.body outputParameters: - type: object mapping: $. - name: box-get-metadata-template-name description: Box Get metadata template by name hints: readOnly: true destructive: false idempotent: true call: box-metadata-templates.getmetadatatemplatesididschema with: scope: tools.scope template_key: tools.template_key outputParameters: - type: object mapping: $. - name: box-update-metadata-template description: Box Update metadata template hints: readOnly: false destructive: false idempotent: true call: box-metadata-templates.putmetadatatemplatesididschema with: scope: tools.scope template_key: tools.template_key body: tools.body outputParameters: - type: object mapping: $. - name: box-remove-metadata-template description: Box Remove metadata template hints: readOnly: false destructive: true idempotent: true call: box-metadata-templates.deletemetadatatemplatesididschema with: scope: tools.scope template_key: tools.template_key outputParameters: - type: object mapping: $. - name: box-get-metadata-template-id description: Box Get metadata template by ID hints: readOnly: true destructive: false idempotent: true call: box-metadata-templates.getmetadatatemplatesid with: template_id: tools.template_id outputParameters: - type: object mapping: $.