Box · Capability

Box Platform API — Files

Box Platform API — Files. 6 operations. Lead operation: Box Preflight check before upload. Self-contained Naftiko capability covering one Box business surface.

Run with Naftiko BoxFiles

What You Can Do

OPTIONS
Optionsfilescontent — Box Preflight check before upload
/v1/files/content
GET
Getfilesid — Box Get file information
/v1/files/{file-id}
PUT
Putfilesid — Box Update file
/v1/files/{file-id}
DELETE
Deletefilesid — Box Delete file
/v1/files/{file-id}
POST
Postfilesidcopy — Box Copy file
/v1/files/{file-id}/copy
GET
Getfilesidthumbnailid — Box Get file thumbnail
/v1/files/{file-id}/thumbnail-extension

MCP Tools

box-preflight-check-before-upload

Box Preflight check before upload

box-get-file-information

Box Get file information

read-only idempotent
box-update-file

Box Update file

idempotent
box-delete-file

Box Delete file

idempotent
box-copy-file

Box Copy file

box-get-file-thumbnail

Box Get file thumbnail

read-only idempotent

Capability Spec

box-files.yaml Raw ↑
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: $.