FileHold Web Services API overview
FileHold software uses a Microsoft .NET Service Oriented Architecture (SOA). All interactions between clients and the application server and between application server components use the HTTP protocol. This ensures all standard and custom clients are internet ready by default. Any environment that can send and receive HTTP messages is able to communicate with the FileHold application server. Most messages are written in SOAP/XML, which is supported by a wide variety of environments such as C#, Python, Powershell, Java, etc.
This architecture provides tremendous benefits to our customers, our partners and to product development and professional services teams in terms of product scalability, flexibility and performance.
The main subsystems of the software system communicate with each other via secure and fully authenticated web service calls. All FileHold clients including the Mobile and full Web Clients, and the Desktop Application interact with the Server using the same web services. These very same Web Services make up the Web Services API for integration of custom clients with the document management library. Examples of custom solutions include integration of the document management software functionality into other productivity applications, the development of connectors to import documents and metadata into the document repository from other applications or the ability to retrieve data and documents from the document library through a custom Intranet portal.
The SOA architecture provides the ability to deploy web services on different servers for the ultimate in system scalability and performance management.
The use of the FileHold API is subject to the terms of use listed below.
API documentation
This is the reference documentation of the libraries and Web Services which are part of the public API of the document management system. Its purpose is to help both in creating custom client applications and integrating existing third party applications into the document management system.
The first part of this documentation contains general information about the design and usage of the document management API along with sample code written in C#. The second part contains a list and brief description of all services, classes and methods which constitute the public API. Coding examples in Powershell and Python are available on this web site.
For FileHold Cloud customers, the API documention is downloadable online. Contact [email protected] if you require documentation for a version that is not listed.
You can find this documentation on your FileHold Application Server in the following locations:
FileHold 15.2 and higher | C:\Program Files\FileHold Systems\Application Server\ApiKit |
FileHold 15.1 and lower | C:\Program Files\FileHold Systems\Application Server\FHAPIDocumentation C:\Program Files\FileHold Systems\Application Server\APIDemo |
A help file is provided to give details on the API methods and parameters. The help does not describe how FileHold operates. A reader of the help file should have basic knowledge of operating FileHold before attempting to program with the API. The normal FileHold clients use the same API that is available to developers. A good rule of thumb for the capability of the API is to consider that if you can do something interacting between a standard client and the application server, you will also be able to do it a custom application and the appliation server.
The API reference documentation can be found online for versions starting from 17.0.
FileHold Software APIs Terms of Use
Thank you for your interest in the FileHold application programming interfaces (the "FileHold APIs"). FileHold is committed to free and open access to our APIs for our customers. By using the FileHold APIs, you agree to our terms and conditions. If you disagree with any of these terms, FileHold does not grant you a license to use the FileHold APIs. We reserve the right to update and change these terms from time to time without notice.
Your license to the FileHold APIs under these terms continues until it is terminated by either party. You may terminate the license by discontinuing use of all or any of the FileHold APIs. FileHold may terminate the license at any time for any reason. FileHold may terminate the license by sending an e-mail notice of termination to you, or by FileHold disabling access to the FileHold APIs to you.
Ownership and Relationship of Parties: The FileHold APIs may be protected by copyrights, trademarks, service marks, international treaties, and/or other proprietary rights and laws of Canada and other countries. FileHold's rights apply to the FileHold APIs and all output and executables of the FileHold APIs, excluding any software components developed by you which do not themselves incorporate the FileHold APIs or any output or executables of the FileHold APIs. You agree to abide by all applicable proprietary rights laws and other laws, as well as any additional copyright notices or restrictions contained in these terms. FileHold owns all rights, title, and interest in and to the FileHold APIs. These terms grant you no right, title, or interest in any intellectual property owned or licensed by FileHold, including (but not limited to) the FileHold APIs and FileHold trademarks.
Support: All standard clients use the FileHold web services that make up the FileHold API. As such, support for the FileHold API is included with FileCare, but support for a custom application you build using the API is not included. See the FileCare SLA for more details. FileHold can be contracted to make best efforts to help and support the FileHold APIs (collectively, "Support") beyond what is included with FileCare, at its sole discretion. If you need assistance beyond what is covered by your FileCare subscription you may enter into a separate professional services billing arrangement. This can include training for your software developer on specific use cases for the API, development of a solution design including relevant references to the API to jump start your development and other services as may be required. Under no circumstances will FileHold take over development of your custom application or take responsibility for debugging an issue with your custom application. If FileHold provides assistance for developing or diagnosing issues with your custom application, this does not constitute any responsibly for or any liability related to your custom application. FileHold may change, suspend, or discontinue any aspect of the FileHold APIs at any time, including the availability of any FileHold APIs. FileHold may also impose limits on certain features and services or restrict access to parts or all of the FileHold APIs.
Disclaimer of Any Warranty: The FileHold APIs are used solely at the risk of the customer and should only be used in a development environment, and not a production environment until a complete development and QA cycle has been completed. Some of the FileHold APIs may be experimental and not tested in any manner. FileHold does not represent or warrant the FileHold APIs to be free of inaccuracies, errors, bugs, or interruptions, or are reliable, accurate, complete, or otherwise valid. Customers who use the FileHold APIs understand that their code can permanently delete data from the FileHold system. It is possible the FileHold APIs can corrupt the system or compromise the integrity of the FileHold databases etc. due to an issue internal to an API function call. For example, some invalid parameter value, which was allowed and not captured by the FileHold code as incorrect can cause damage or, the documentation did not specifically warn about specific dangerous scenarios of using an API call.
The FileHold APIs are provided "as is" with no warranty, express or implied, of any kind. FileHold expressly disclaims any and all warranties and conditions, including, but not limited to, any implied warranty of merchantability, fitness for a particular purpose, availability, security, title and/or non-infringement. Your use of the FileHold APIs is at your own discretion and risk, and you will be solely responsible for any damage that results from the use of any FileHold APIs including, but not limited to, any damage to your computer system or loss of data.
Limitation of Liability: FILEHOLD SHALL NOT, UNDER ANY CIRCUMSTANCES, BE LIABLE TO YOU FOR ANY INDIRECT, INCIDENTAL, CONSEQUENTIAL, SPECIAL OR EXEMPLARY DAMAGES ARISING OUT OF OR IN CONNECTION WITH USE OF THE FILEHOLD APIS, WHETHER BASED ON BREACH OF CONTRACT, BREACH OF WARRANTY, TORT (INCLUDING NEGLIGENCE, PRODUCT LIABILITY OR OTHERWISE), OR ANY OTHER PECUNIARY LOSS, WHETHER OR NOT FILEHOLD HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. UNDER NO CIRCUMSTANCES SHALL FILEHOLD BE LIABLE TO YOU FOR ANY AMOUNT.