Box Developer Documentation
 
    Latest version

    Upload file

    post
    https://upload.box.com/api/2.0
    /files/content

    This endpoint is in the version 2024.0. No changes are required to continue using it. For more details, see Box API versioning.

    Uploads a small file to Box. For file sizes over 50MB we recommend using the Chunk Upload APIs.

    The attributes part of the body must come before the file part. Requests that do not follow this format when uploading the file will receive a HTTP 400 error with a metadata_after_file_contents error code.

    Request

    bearer [ACCESS_TOKEN]
    multipart/form-data

    Request Headers

    stringin headeroptional
    134b65991ed521fcfe4724b7d814ab8ded5185dc

    An optional header containing the SHA1 hash of the file to ensure that the file was not corrupted in transit.

    Query Parameters

    string arrayin queryoptional
    id,type,name

    A comma-separated list of attributes to include in the response. This can be used to request fields that are not normally returned in a standard response.

    Be aware that specifying this parameter will have the effect that none of the standard fields are returned in the response unless explicitly specified, instead only fields for the mini representation are returned, additional to the fields requested.

    Request Body

    objectin body

    The additional attributes of the file being uploaded. Mainly the name and the parent folder. These attributes are part of the multi part request body and are in JSON format.

    The attributes part of the body must come before the file part. Requests that do not follow this format when uploading the file will receive a HTTP 400 error with a metadata_after_file_contents error code.

    string (date-time)in bodyrequired
    "2012-12-12T10:53:43-08:00"

    Defines the time the file was originally created at.

    If not set, the upload time will be used.

    string (date-time)in bodyrequired
    "2012-12-12T10:53:43-08:00"

    Defines the time the file was last modified at.

    If not set, the upload time will be used.

    stringin bodyrequired
    "Photo.png"

    The name of the file

    objectin body

    The parent folder to upload the file to

    stringin bodyrequired
    "124132"

    The id of the parent folder. Use 0 for the user's root folder.

    string (binary)in bodyrequired

    The content of the file to upload to Box.

    The attributes part of the body must come before the file part. Requests that do not follow this format when uploading the file will receive a HTTP 400 error with a metadata_after_file_contents error code.

    Response

    application/jsonFiles

    Returns the new file object in a list.

    application/jsonClient error

    Returns an error if some of the parameters are missing or not valid.

    • bad_request when a parameter is missing or incorrect.
    • item_name_too_long when the folder name is too long.
    • item_name_invalid when the folder name contains non-valid characters.
    application/jsonClient error

    Returns an error if the parent folder does not exist or if the user is not authorized to access the parent folder.

    application/jsonClient error

    Returns an error if the file already exists, or the account has run out of disk space.

    application/jsonClient error

    An unexpected client error.

    post
    Upload file
    You can now try out some of our APIs live, right here in the documentation.
    Log in

    Request Example

    cURL
    curl -i -X POST "https://upload.box.com/api/2.0/files/content" \
         -H "authorization: Bearer <ACCESS_TOKEN>" \
         -H "content-type: multipart/form-data" \
         -F attributes='{"name":"Contract.pdf", "parent":{"id":"11446498"}}' \
         -F file=@<FILE_NAME>

    Response Example

    {
      "entries": [
        {
          "etag": "1",
          "id": "12345",
          "type": "file",
          "file_version": {
            "id": "12345",
            "type": "file_version",
            "sha1": "134b65991ed521fcfe4724b7d814ab8ded5185dc"
          },
          "name": "Contract.pdf",
          "sequence_id": "3",
          "sha1": "85136C79CBF9FE36BB9D05D0639C70C265C18D37",
          "content_created_at": "2012-12-12T10:53:43-08:00",
          "content_modified_at": "2012-12-12T10:53:43-08:00",
          "created_at": "2012-12-12T10:53:43-08:00",
          "created_by": {
            "id": "11446498",
            "type": "user",
            "login": "ceo@example.com",
            "name": "Aaron Levie"
          },
          "description": "Contract for Q1 renewal",
          "item_status": "active",
          "modified_at": "2012-12-12T10:53:43-08:00",
          "modified_by": {
            "id": "11446498",
            "type": "user",
            "login": "ceo@example.com",
            "name": "Aaron Levie"
          },
          "owned_by": {
            "id": "11446498",
            "type": "user",
            "login": "ceo@example.com",
            "name": "Aaron Levie"
          },
          "parent": {
            "etag": "1",
            "id": "12345",
            "type": "folder",
            "name": "Contracts",
            "sequence_id": "3"
          },
          "path_collection": {
            "entries": [
              {
                "etag": "1",
                "id": "12345",
                "type": "folder",
                "name": "Contracts",
                "sequence_id": "3"
              }
            ],
            "total_count": 1
          },
          "purged_at": "2012-12-12T10:53:43-08:00",
          "shared_link": {
            "access": "open",
            "download_count": 3,
            "download_url": "https://www.box.com/shared/static/rh935iit6ewrmw0unyul.jpeg",
            "effective_access": "company",
            "effective_permission": "can_download",
            "is_password_enabled": true,
            "permissions": {
              "can_download": true,
              "can_edit": false,
              "can_preview": true
            },
            "preview_count": 3,
            "unshared_at": "2018-04-13T13:53:23-07:00",
            "url": "https://www.box.com/s/vspke7y05sb214wjokpk",
            "vanity_name": "my_url",
            "vanity_url": "https://acme.app.box.com/v/my_url/"
          },
          "size": 629644,
          "trashed_at": "2012-12-12T10:53:43-08:00",
          "allowed_invitee_roles": [
            "editor"
          ],
          "classification": {
            "color": "#FF0000",
            "definition": "Content that should not be shared outside the company.",
            "name": "Top Secret"
          },
          "comment_count": 10,
          "disposition_at": "2012-12-12T10:53:43-08:00",
          "expires_at": "2012-12-12T10:53:43-08:00",
          "expiring_embed_link": {
            "access_token": "c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ",
            "expires_in": 3600,
            "restricted_to": [
              {
                "object": {
                  "etag": "1",
                  "id": "12345",
                  "type": "folder",
                  "name": "Contracts",
                  "sequence_id": "3"
                },
                "scope": "item_download"
              }
            ],
            "token_type": "bearer",
            "url": "https://cloud.app.box.com/preview/expiring_embed/..."
          },
          "extension": "pdf",
          "has_collaborations": true,
          "is_accessible_via_shared_link": true,
          "is_associated_with_app_item": true,
          "is_externally_owned": true,
          "is_package": true,
          "lock": {
            "app_type": "office_wopiplus",
            "created_at": "2012-12-12T10:53:43-08:00",
            "created_by": {
              "id": "11446498",
              "type": "user",
              "login": "ceo@example.com",
              "name": "Aaron Levie"
            },
            "expired_at": "2012-12-12T10:53:43-08:00",
            "id": "11446498",
            "is_download_prevented": true,
            "type": "lock"
          },
          "metadata": {
            "enterprise_27335": {
              "marketingCollateral": {
                "$canEdit": true,
                "$id": "01234500-12f1-1234-aa12-b1d234cb567e",
                "$parent": "folder_59449484661",
                "$scope": "enterprise_27335",
                "$template": "marketingCollateral",
                "$type": "properties-6bcba49f-ca6d-4d2a-a758-57fe6edf44d0",
                "$typeVersion": 2,
                "$version": 1
              }
            }
          },
          "permissions": {
            "can_delete": true,
            "can_download": true,
            "can_invite_collaborator": true,
            "can_rename": true,
            "can_set_share_access": true,
            "can_share": true,
            "can_annotate": true,
            "can_comment": true,
            "can_preview": true,
            "can_upload": true,
            "can_view_annotations_all": true,
            "can_view_annotations_self": true
          },
          "representations": {
            "entries": [
              {
                "content": {
                  "url_template": "https://dl.boxcloud.com/api/2.0/internal_files/123/versions/345/representations/png_paged_2048x2048/content/{+asset_path}?watermark_content=4567"
                },
                "info": {
                  "url": "https://api.box.com/2.0/internal_files/123/versions/345/representations/png_paged_2048x2048"
                },
                "properties": {
                  "dimensions": "2048x2048",
                  "paged": "true",
                  "thumb": "true"
                },
                "representation": "png",
                "status": {
                  "state": "success"
                }
              }
            ]
          },
          "shared_link_permission_options": [
            "can_preview"
          ],
          "tags": [
            "approved"
          ],
          "uploader_display_name": "Ellis Wiggins",
          "version_number": "1",
          "watermark_info": {
            "is_watermarked": true
          }
        }
      ],
      "total_count": 1
    }