\\
Box supports external integration through an HTTP-based REST API.\\
\\
__Restriction:__\\
-REST API does not support resume on upload\\
-No mdtm(File modification time) changes.\\
-Large file upload: CrushFTP stores the uploaded file temporary at CrushFTP install folder/box/<<box username>>\\
\\
\\
Create new custom app at [https://app.box.com/developers/console].\\
[attachments|box_create_custom_app.png]\\
\\ 
CrushFTP use __JWT Authentication__ method ([https://developer.box.com/guides/authentication/jwt/]), and not OAuth2. Select JWT based authentication.\\
\\
[attachments|box_jwt_auth.png]\\
\\
Check the "Make API calls using the as-user header" checkbox at __Configuration -> Advanced Features__\\
\\
[attachments|box_as_user_header.png]\\
\\
Generate the RSA keypair for JWT at __Configuration -> Add and Manage Public Keys__\\
\\
[attachments|box_rsa_keypair.png]\\
\\
Save your app changes and dwonload JSON file from __Configuration -> App Settings__\\
The JSON file should contains:
{{{
{
  "boxAppSettings": {
    "clientID": "ogXXXXXXXXXXXXXXXX",
    "clientSecret": "laAXXXXXXXXXXXX",
    "appAuth": {
      "publicKeyID": "cgXXXXXXXXX",
      "privateKey": "-----BEGIN ENCRYPTED PRIVATE KEY-----\nXXXXXXXXXXXXXXXXXXXXXnblc=\n-----END ENCRYPTED PRIVATE KEY-----\n",
      "passphrase": "aXXXXXXXXXXXXXXXXXXXXe"
    }
  },
  "enterpriseID": "2XXXXXXXXX5"
}
}}}
\\
On CrushFTP provide the box login username as username and the path of JSON config file.\\
[attachments|box_vfs_settings.png]\\
\\