naftiko: 1.0.0-alpha2 info: label: Box Platform API — Files description: 'Box Platform API — Files. 6 operations. Lead operation: Box Preflight check before upload. Self-contained Naftiko capability covering one Box business surface.' tags: - Box - Files created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: BOX_API_KEY: BOX_API_KEY capability: consumes: - type: http namespace: box-files baseUri: https://api.box.com/2.0 description: Box Platform API — Files business capability. Self-contained, no shared references. resources: - name: files-content path: /files/content operations: - name: optionsfilescontent method: OPTIONS description: Box Preflight check before upload outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: files-file_id path: /files/{file_id} operations: - name: getfilesid method: GET description: Box Get file information outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: file_id in: path type: string description: The unique identifier that represents a file. required: true - name: fields in: query type: array description: A comma-separated list of attributes to include in the - name: if-none-match in: header type: string description: Ensures an item is only returned if it has changed. - name: boxapi in: header type: string description: The URL, and optional password, for the shared link of this item. - name: x-rep-hints in: header type: string description: A header required to request specific `representations` - name: putfilesid method: PUT description: Box Update file outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: file_id in: path type: string description: The unique identifier that represents a file. required: true - name: fields in: query type: array description: A comma-separated list of attributes to include in the - name: if-match in: header type: string description: Ensures this item hasn't recently changed before - name: body in: body type: object description: Request body (JSON). required: false - name: deletefilesid method: DELETE description: Box Delete file outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: file_id in: path type: string description: The unique identifier that represents a file. required: true - name: if-match in: header type: string description: Ensures this item hasn't recently changed before - name: files-file_id-copy path: /files/{file_id}/copy operations: - name: postfilesidcopy method: POST description: Box Copy file outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: file_id in: path type: string description: The unique identifier that represents a file. required: true - name: fields in: query type: array description: A comma-separated list of attributes to include in the - name: body in: body type: object description: Request body (JSON). required: false - name: files-file_id-thumbnail.{extension} path: /files/{file_id}/thumbnail.{extension} operations: - name: getfilesidthumbnailid method: GET description: Box Get file thumbnail outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: file_id in: path type: string description: The unique identifier that represents a file. required: true - name: extension in: path type: string description: The file format for the thumbnail required: true - name: min_height in: query type: integer description: The minimum height of the thumbnail - name: min_width in: query type: integer description: The minimum width of the thumbnail - name: max_height in: query type: integer description: The maximum height of the thumbnail - name: max_width in: query type: integer description: The maximum width of the thumbnail authentication: type: bearer token: '{{env.BOX_API_KEY}}' exposes: - type: rest namespace: box-files-rest port: 8080 description: REST adapter for Box Platform API — Files. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/files/content name: files-content description: REST surface for files-content. operations: - method: OPTIONS name: optionsfilescontent description: Box Preflight check before upload call: box-files.optionsfilescontent with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/files/{file-id} name: files-file-id description: REST surface for files-file_id. operations: - method: GET name: getfilesid description: Box Get file information call: box-files.getfilesid with: file_id: rest.file_id fields: rest.fields if-none-match: rest.if-none-match boxapi: rest.boxapi x-rep-hints: rest.x-rep-hints outputParameters: - type: object mapping: $. - method: PUT name: putfilesid description: Box Update file call: box-files.putfilesid with: file_id: rest.file_id fields: rest.fields if-match: rest.if-match body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletefilesid description: Box Delete file call: box-files.deletefilesid with: file_id: rest.file_id if-match: rest.if-match outputParameters: - type: object mapping: $. - path: /v1/files/{file-id}/copy name: files-file-id-copy description: REST surface for files-file_id-copy. operations: - method: POST name: postfilesidcopy description: Box Copy file call: box-files.postfilesidcopy with: file_id: rest.file_id fields: rest.fields body: rest.body outputParameters: - type: object mapping: $. - path: /v1/files/{file-id}/thumbnail-extension name: files-file-id-thumbnail-extension description: REST surface for files-file_id-thumbnail.{extension}. operations: - method: GET name: getfilesidthumbnailid description: Box Get file thumbnail call: box-files.getfilesidthumbnailid with: file_id: rest.file_id extension: rest.extension min_height: rest.min_height min_width: rest.min_width max_height: rest.max_height max_width: rest.max_width outputParameters: - type: object mapping: $. - type: mcp namespace: box-files-mcp port: 9090 transport: http description: MCP adapter for Box Platform API — Files. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: box-preflight-check-before-upload description: Box Preflight check before upload hints: readOnly: false destructive: false idempotent: false call: box-files.optionsfilescontent with: body: tools.body outputParameters: - type: object mapping: $. - name: box-get-file-information description: Box Get file information hints: readOnly: true destructive: false idempotent: true call: box-files.getfilesid with: file_id: tools.file_id fields: tools.fields if-none-match: tools.if-none-match boxapi: tools.boxapi x-rep-hints: tools.x-rep-hints outputParameters: - type: object mapping: $. - name: box-update-file description: Box Update file hints: readOnly: false destructive: false idempotent: true call: box-files.putfilesid with: file_id: tools.file_id fields: tools.fields if-match: tools.if-match body: tools.body outputParameters: - type: object mapping: $. - name: box-delete-file description: Box Delete file hints: readOnly: false destructive: true idempotent: true call: box-files.deletefilesid with: file_id: tools.file_id if-match: tools.if-match outputParameters: - type: object mapping: $. - name: box-copy-file description: Box Copy file hints: readOnly: false destructive: false idempotent: false call: box-files.postfilesidcopy with: file_id: tools.file_id fields: tools.fields body: tools.body outputParameters: - type: object mapping: $. - name: box-get-file-thumbnail description: Box Get file thumbnail hints: readOnly: true destructive: false idempotent: true call: box-files.getfilesidthumbnailid with: file_id: tools.file_id extension: tools.extension min_height: tools.min_height min_width: tools.min_width max_height: tools.max_height max_width: tools.max_width outputParameters: - type: object mapping: $.