Create or Update Shared Link

Guides Shared Links Create or Update Shared Link
Edit this page

Create or Update Shared Link

Shared links may be created or directly for file, folder, or web link resources to generate a read-only URL to permit users with the appropriate access level to view the content.

You may only have one active shared link for a file, folder, or web link at any time.

At minimum the information needed to create a shared link will be:

  • The type of resource, either a file, folder, or web link.
  • The ID of that resource.

Optionally when creating a shared link the following may be specified:

  • The access level, which may be one of:

    • open: A public shared link. Anyone with the link may access the link.
    • company: Anyone within your enterprise may access the link.
    • collaborators: Anyone collaborated on the content may access the link.
  • An expiration time when the shared link will automatically disable.
  • A password required to access the resource.

If an access level is not specified when creating a shared link it will use the default access level specified by the enterprise admin.

To create a shared link on a file, specify the ID of the file with any optional shared link parameters.

cURL
curl -i -X PUT "https://api.box.com/2.0/files/32423234?fields=shared_link" \
     -H "Authorization: Bearer <ACCESS_TOKEN>" \
     -d '{
       "shared_link": {
         "access": "open",
         "password": "mypassword",
         "unshared_at": "2012-12-12T10:53:43-08:00",
         "permissions": {
           "can_download": false
         }
       }
     }'
Python
file_id = '11111'

url = client.file(file_id).get_shared_link(access='open', allow_download=False)
print(f'The file shared link URL is: {url}')
Node
client.files.update('12345', {
  shared_link: {
    access: "open",
    password: "do-not-use-this-password", 
    unshared_at: "2022-12-12T10:53:43-08:00",
    vanity_name: "my-shared-link",
    permissions: {
	  can_view: true,
	  can_download: true,
	  can_edit: true
    }
  }
}).then(file => {
  // ...
})

To create a shared link on a folder, specify the ID of the folder with any optional shared link parameters.

cURL
curl -i -X PUT "https://api.box.com/2.0/folders/32423234?fields=shared_link" \
     -H "Authorization: Bearer <ACCESS_TOKEN>" \
     -d '{
       "shared_link": {
         "access": "open",
         "password": "mypassword",
         "unshared_at": "2012-12-12T10:53:43-08:00",
         "permissions": {
           "can_download": false
         }
       }
     }'
Python
folder_id = '11111'

url = client.folder(folder_id).get_shared_link(access='open', allow_download=False)
print(f'The folder shared link URL is: {url}')
Node
client.folders.update('12345', {
  shared_link: {
    access: "open",
    password: "do-not-use-this-password",
    unshared_at: "2022-12-12T10:53:43-08:00",
    vanity_name: "my-shared-link",
    permissions: {
      can_view: true,
      can_download: true
    }
  }
}).then(folder => {
  // ...
})

To create a shared link on a web link, specify the ID of the web link with any optional shared link parameters.

cURL
curl -i -X PUT "https://api.box.com/2.0/web_links/32423234?fields=shared_link" \
     -H "Authorization: Bearer <ACCESS_TOKEN>" \
     -d '{
       "shared_link": {
         "access": "open",
         "password": "mypassword",
         "unshared_at": "2012-12-12T10:53:43-08:00",
         "permissions": {
           "can_download": false
         }
       }
     }'
Python
url = client.web_link('12345').get_shared_link(access='open')
print(f'The web link shared link URL is: {url}')