The SmartFile API is available to our customers and partners to automate file sharing tasks. The API can be used for a variety of purposes.
- Create user accounts in response to some trigger.
- Integrate online backup with your software.
- Manage user accounts with an external provisioning system.
- Add file sharing to your application or web site.
- Pull activity information into another system for custom reporting.
The API utilizes an industry-standard RESTful interface. This interface is extremely lightweight and compatible with any web-enabled programming platform.
Use the sidebar on the left to browse the endpoints. Each endpoint allows you to manage a different aspect of your SmartFile account.
API Client SDKs
We provide API clients for many languages.
If you don't see your language of choice above, don't worry, if you have ever written software for the web, you should have no problem using our REST API. At the very least, the above should be able to search as a low-level roadmap for your own implementation. See below for the details of how to communicate with the SmartFile API.
Our API uses webhooks to notify you of completion. To debug webhooks, we recommend using a service like RequestBin. You can give us your RequestBin as the webhook URL, you can then later inspect the request we made to that URL. This will help you to develop your own webhook handler.
Use the links on the left to navigate our live documentation. Caution this is the live api. Try some tests using the forms and HTTP method buttons. The actual results of your tests will show in the response box. The HTTP status codes also show above the response box.
Turn on your development tools, such as Firebug, and use the links on the left to navigate. Once you select the resource you need, you can inspect the fields on the page to determine the field name. The field names used in the form are the same parameters you will be passing the api via your chosen client SDK.
The SmartFile API uses rate limiting to prevent abuse. This means we allow
250 requests per minute
to allow short bursts of activity and prevent prolonged bursts of requests. The server returns a
503 status when the rate of API requests surpasses the specified limit.
You can use the X-Throttle header to see when you will be under the throttle limit again.
You are able to specify the response format with the format parameter. Here are some of the available response formats:
- json – Returns response in json format with application/json content-type. (default)
- json-p – Returns response in json-p format with application/json-p content-type. The response is wrapped in a callback function.
- json-t – Returns response in json format with text/plain content-type. This is useful for clients that do not handle application/json properly.
- txt – Returns response with http headers and json data inline with text/plain content-type.
- xml – Returns response in xml format with application/xml content-type.
- csv – Returns response in comma separated format with text/plain content-type. This is only available for the Activity resource.
To select a version of the api use the version number as the second part of the url. (Example: /api/2.0/) You can ensure you are always using the latest version of the api by leaving off the subversion. (Example: /api/2/)
API version 2.2 is an upgrade to 2.1 with pagination on most list endpoints.
API version 2.1 is an upgrade to 2.0 that uses path strings instead of ids for paths.
API version 2.0 is deprecated and now redirects to 2.1.