Box

Box Downloads API

Downloads allow saving files to the application's server, or directly by the end user in a browser.

Documentation

📖
Documentation
https://developer.box.com/reference/get-authorize
📖
Documentation
https://developer.box.com/reference/post-oauth2-token
📖
Documentation
https://developer.box.com/reference/post-files-id-copy
📖
Documentation
https://developer.box.com/reference/post-file-requests-id-copy
📖
Documentation
https://developer.box.com/reference/post-folders-id-copy
📖
Documentation
https://developer.box.com/reference/post-folder-locks
📖
Documentation
https://developer.box.com/reference/post-metadata-templates-schema
📖
Documentation
https://developer.box.com/reference/post-metadata-cascade-policies
📖
Documentation
https://developer.box.com/reference/post-metadata-queries-execute-read
📖
Documentation
https://developer.box.com/reference/post-comments
📖
Documentation
https://developer.box.com/reference/post-collaborations
📖
Documentation
https://developer.box.com/reference/post-tasks
📖
Documentation
https://developer.box.com/reference/post-task-assignments
📖
Documentation
https://developer.box.com/reference/put-files-id--add-shared-link
📖
Documentation
https://developer.box.com/reference/put-folders-id--add-shared-link
📖
Documentation
https://developer.box.com/reference/post-web-links
📖
Documentation
https://developer.box.com/reference/put-web-links-id--add-shared-link
📖
Documentation
https://developer.box.com/reference/post-users
📖
Documentation
https://developer.box.com/reference/post-invites
📖
Documentation
https://developer.box.com/reference/post-groups
📖
Documentation
https://developer.box.com/reference/post-group-memberships
📖
Documentation
https://developer.box.com/reference/post-webhooks
📖
Documentation
https://developer.box.com/reference/post-files-id-metadata-global-boxSkillsCards
📖
Documentation
https://developer.box.com/reference/options-events
📖
Documentation
https://developer.box.com/reference/get-collections-id
📖
Documentation
https://developer.box.com/reference/get-recent-items
📖
Documentation
https://developer.box.com/reference/post-retention-policies
📖
Documentation
https://developer.box.com/reference/post-retention-policy-assignments
📖
Documentation
https://developer.box.com/reference/post-legal-hold-policies
📖
Documentation
https://developer.box.com/reference/post-legal-hold-policy-assignments
📖
Documentation
https://developer.box.com/reference/get-file-version-retentions-id
📖
Documentation
https://developer.box.com/reference/get-file-version-legal-holds-id
📖
Documentation
https://developer.box.com/reference/post-shield-information-barriers-change-status
📖
Documentation
https://developer.box.com/reference/post-shield-information-barrier-reports
📖
Documentation
https://developer.box.com/reference/post-shield-information-barrier-segments
📖
Documentation
https://developer.box.com/reference/post-shield-information-barrier-segment-members
📖
Documentation
https://developer.box.com/reference/post-shield-information-barrier-segment-restrictions
📖
Documentation
https://developer.box.com/reference/get-device-pinners-id
📖
Documentation
https://developer.box.com/reference/post-terms-of-services
📖
Documentation
https://developer.box.com/reference/post-terms-of-service-user-statuses
📖
Documentation
https://developer.box.com/reference/post-collaboration-whitelist-entries
📖
Documentation
https://developer.box.com/

Specifications

Other Resources

OpenAPI Specification

box-downloads-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Box Authorize Authorization Downloads API
  description: Needs a description.
tags:
- name: Downloads
  description: 'Downloads allow saving files to the application''s server,

    or directly by the end user in a browser.'
  x-box-tag: downloads
paths:
  /files/{file_id}/content:
    get:
      operationId: get_files_id_content
      summary: Box Download file
      tags:
      - Downloads
      x-box-tag: downloads
      description: Returns the contents of a file in binary format.
      parameters:
      - name: file_id
        description: 'The unique identifier that represents a file.


          The ID for any file can be determined

          by visiting a file in the web application

          and copying the ID from the URL. For example,

          for the URL `https://*.app.box.com/files/123`

          the `file_id` is `123`.'
        example: '12345'
        in: path
        required: true
        schema:
          type: string
      - name: range
        description: 'The byte range of the content to download.


          The format `bytes={start_byte}-{end_byte}` can be used to specify

          what section of the file to download.'
        example: bytes=0-1024
        in: header
        required: false
        schema:
          type: string
      - name: boxapi
        description: 'The URL, and optional password, for the shared link of this item.


          This header can be used to access items that have not been

          explicitly shared with a user.


          Use the format `shared_link=[link]` or if a password is required then

          use `shared_link=[link]&shared_link_password=[password]`.


          This header can be used on the file or folder shared, as well as on any files

          or folders nested within the item.'
        example: shared_link=[link]&shared_link_password=[password]
        in: header
        required: false
        schema:
          type: string
      - name: version
        description: The file version to download
        example: '4'
        in: query
        required: false
        schema:
          type: string
      - name: access_token
        description: 'An optional access token that can be used to pre-authenticate this request, which means that a download link can be shared with a browser or a third party service without them needing to know how to handle the authentication.

          When using this parameter, please make sure that the access token is sufficiently scoped down to only allow read access to that file and no other files or folders.'
        example: c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: 'Returns the requested file if the client has the **follow

            redirects** setting enabled to automatically

            follow HTTP `3xx` responses as redirects. If not, the request

            will return `302` instead.

            For details, see

            the [download file guide](g://downloads/file#download-url).'
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
                description: The binary content of the file
        '202':
          description: 'If the file is not ready to be downloaded yet `Retry-After` header will

            be returned indicating the time in seconds after which the file will

            be available for the client to download.


            This response can occur when the file was uploaded immediately before the

            download request.'
          headers:
            Retry-After:
              description: The time in seconds after which to retry the download
              schema:
                type: integer
        '302':
          description: 'If the file is available for download the response will include a

            `Location` header for the file on `dl.boxcloud.com`.


            The `dl.boxcloud.com` URL is not persistent and clients will need

            to follow the redirect to actually download the file.'
          headers:
            Location:
              description: A pointer to the download URL
              schema:
                type: string
                format: url
        default:
          description: An unexpected client error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
components:
  schemas:
    ClientError:
      title: Client error
      type: object
      x-box-resource-id: client_error
      description: A generic error
      properties:
        type:
          description: error
          example: error
          type: string
          enum:
          - error
          nullable: false
        status:
          description: The HTTP status of the response.
          example: 400
          type: integer
          format: int32
          nullable: false
        code:
          description: A Box-specific error code
          example: item_name_invalid
          type: string
          enum:
          - created
          - accepted
          - no_content
          - redirect
          - not_modified
          - bad_request
          - unauthorized
          - forbidden
          - not_found
          - method_not_allowed
          - conflict
          - precondition_failed
          - too_many_requests
          - internal_server_error
          - unavailable
          - item_name_invalid
          - insufficient_scope
        message:
          description: A short message describing the error.
          example: Method Not Allowed
          type: string
          nullable: false
        context_info:
          description: 'A free-form object that contains additional context

            about the error. The possible fields are defined on

            a per-endpoint basis. `message` is only one example.'
          type: object
          nullable: true
          properties:
            message:
              type: string
              description: More details on the error.
              example: Something went wrong.
        help_url:
          description: A URL that links to more information about why this error occurred.
          example: https://developer.box.com/guides/api-calls/permissions-and-errors/common-errors/
          type: string
          nullable: false
        request_id:
          description: 'A unique identifier for this response, which can be used

            when contacting Box support.'
          type: string
          example: abcdef123456
          nullable: false