SOAP and REST API Web Services
Agiloft offers a SOAP and RESTful API which can be used to perform common system tasks on records. SOAP Web Services are enabled per-knowledgebase in the setup menu, while REST services are on by default and are only restricted by group permissions and license types.
API access requires you to have an Enterprise or Web Service license. Although it is possible to start Web Services in the Setup menu, you will receive an error message if you attempt to access the APIs without the correct license. For more information on upgrading your license, see Licenses.
The SOAP/REST interface is most suited for online integration between systems, rather than processes that involve bulk synchronization. There are more suitable ways of synchronizing many records with Agiloft. These include:
- Microsoft Exchange Synchronization
- External Sync Adapter
- System integrations such as Salesforce and SCCM.
Two versions of Web Services are offered:
- v1 - the legacy version of WSDL uses HTTP cookies to maintain the session after the initial login.
- v2 - the default current version uses a token obtained at login to identify the session on subsequent calls.
The legacy version is not described in this manual anymore. However all calls available in v2 are available in v1 with one difference - the
sessionid parameter is not present, as the session is maintained via cookies. Though being supported, this is considered non-standard and use of v1 Web Services is not recommended anymore.
Sample API Code
You can generate sample Web Services code in Java or .NET for any table by selecting Setup > Tables > (Edit Table) > API > Download <Java or .Net> Sample.
The downloaded file contains a set of table-specific code samples for each of the API functions.
You can also download embeddable HTML which creates a form with a Submit button that allows a defined user to create a record in the table. You can choose a user and a layout type to display the fields.
Types of Information Provided by the APIs
The REST/SOAP API is primarily used to access and modify table records. There is no way to use the API to modify additional system data, such as...
- Table names
- Modifying saved searches
- Changing table columns
- Updating permissions on tables/fields.
For system access to these elements, you can use the Database Interface.